برنامه نویسی

ماجراهای TypeScript با چالش های نوع – روز 1: انتخاب

Summarize this content to 400 words in Persian Lang
سلام به همه.من با چالش‌های نوع کار می‌کنم تا عمیق‌تر در TypeScript فرو بروم.

امروز، من می خواهم آنچه را که در مورد Pick یاد گرفتم به اشتراک بگذارم.

– چالش –

interface Todo {
title: string
description: string
completed: boolean
}

type TodoPreview = MyPick<Todo, ‘title’ | ‘completed’>

const todo: TodoPreview = {
title: ‘Clean room’,
completed: false,
}

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اجرای عمومی انتخاب داخلی بدون استفاده از آن.با انتخاب مجموعه ای از خصوصیات K از T یک نوع می سازد.

– توضیحات –

چالش این است که نسخه خود را ایجاد کنید Pick نوع ابزار، که TypeScript به عنوان یک ابزار استاندارد ارائه می کند.

– راه حل من –

interface Todo {
title: string;
description: string;
completed: boolean;
}

type MyPick<T, U extends keyof T> = {
[k in U]: T[k];
};

type TodoPreview = MyPick<Todo, “title” | “completed”>;

const todo: TodoPreview = {
title: “Clean room”,
completed: false,
};

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

– توضیح –

بگذارید خط به خط توضیح دهم.

در خط اول، MyPick دو آرگومان دریافت می کند: T و U extends keyof T.

T:نوع پایه که شامل تمام خواص است.U extends keyof T:خواصی را که باید در نوع خروجی گنجانده شوند را مشخص می کند.

درباره keyofدرباره گسترش می یابد

در خط دوم، یک نوع جدید ایجاد می کند که فقط ویژگی های مشخص شده را از آرگومان داده شده استخراج می کند.

درباره انواع Mapped مانند [k in U]

همانطور که در زیر می بینید، یک نوع جدید که حذف می کند description از Todo تنها با ارائه ایجاد می شود title و completed به MyPick.

کد نویسی مبارک☀️

سلام به همه.
من با چالش‌های نوع کار می‌کنم تا عمیق‌تر در TypeScript فرو بروم.

امروز، من می خواهم آنچه را که در مورد Pick یاد گرفتم به اشتراک بگذارم.

– چالش –

interface Todo {
  title: string
  description: string
  completed: boolean
}

type TodoPreview = MyPick<Todo, 'title' | 'completed'>

const todo: TodoPreview = {
    title: 'Clean room',
    completed: false,
}
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اجرای عمومی انتخاب داخلی بدون استفاده از آن.
با انتخاب مجموعه ای از خصوصیات K از T یک نوع می سازد.

– توضیحات –

چالش این است که نسخه خود را ایجاد کنید Pick نوع ابزار، که TypeScript به عنوان یک ابزار استاندارد ارائه می کند.

– راه حل من –

interface Todo {
  title: string;
  description: string;
  completed: boolean;
}

type MyPick<T, U extends keyof T> = {
  [k in U]: T[k];
};

type TodoPreview = MyPick<Todo, "title" | "completed">;

const todo: TodoPreview = {
  title: "Clean room",
  completed: false,
};
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

– توضیح –

بگذارید خط به خط توضیح دهم.

در خط اول، MyPick دو آرگومان دریافت می کند: T و U extends keyof T.

توضیحات تصویر

T:نوع پایه که شامل تمام خواص است.
U extends keyof T:خواصی را که باید در نوع خروجی گنجانده شوند را مشخص می کند.

درباره keyof
درباره گسترش می یابد

در خط دوم،
یک نوع جدید ایجاد می کند که فقط ویژگی های مشخص شده را از آرگومان داده شده استخراج می کند.

توضیحات تصویر

درباره انواع Mapped مانند [k in U]

همانطور که در زیر می بینید، یک نوع جدید که حذف می کند description از Todo تنها با ارائه ایجاد می شود title و completed به MyPick.

توضیحات تصویر

کد نویسی مبارک☀️

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا