TypeScript
TypeScript را از ابتدا تا انتها یاد بگیرید. تایپها، interfaceها، genericها، classها، moduleها، utility و mapped typeها، declaration fileها و compiler.
18 درس، به ترتیب
- 120 دقیقه
سلام، TypeScript
این یک برنامه کوچک JavaScript است که کاملا خراب است، و JavaScript با کمال میل اجرایش میکند:
What TypeScript isTsc compile stepRunning a .ts fileThe play button - 225 دقیقه
مبانی تایپها
الان میتوانید یک فایل .ts را اجرا کنید. حالا برویم سراغ آجرهای اصلی ساختمان: تایپهای اولیه (primitive types) که خودِ TypeScript همراهش میآید،...
Primitive typesStringNumberBooleanNullUndefined+3 - 325 دقیقه
آرایهها و Tupleها
یک مقدار تنها بهندرت کافی است. فهرستی از دماها دارید، فهرستی از نامها، فهرستی از قیمتها. و همان لحظه که فهرست داشته باشید، نوع تازهای از اشتباه...
Array typesReadonly arraysTuple typesFixed-length tuplesNamed tuple elements - 425 دقیقه
تایپهای Object و Interfaceها
با تایپهای ابتدایی و آرایهها میشود خیلی راه رفت، اما بیشتر دادهٔ واقعی یک ساختار دارد: یک کاربر نام و سن دارد، یک درخواست متد و مسیر دارد، یک...
Object literal typesInterface keywordRequired vs optional propertiesStructural typingExcess property checks - 525 دقیقه
Functionها
بیشتر باگها در توابع زندگی میکنند و نوعها هم بیش از هر جای دیگر همانجا به کار میآیند. امضای یک تابع (پارامترها و نوع بازگشتیاش) قراردادی است...
Parameter typesReturn typesVoid returnDefault parametersRest parametersFunction type expressions+1 - 625 دقیقه
Union و Literal Typeها
بعضی مقدارها فقط یک چیز نیستند. تابعی که دنبال کاربر میگردد یا یکی پیدا میکند یا نمیکند. فیلد یک فرم یا عددی را نگه میدارد که کاربر تایپ کرده یا...
Union typesString literal typesNumeric literal typesLiteral narrowing with as constUnion of object shapes - 730 دقیقه
Narrowing تایپ
یک یونیون (union) میگوید «این مقدار یکی از چند نوع است». محدود کردن نوع (narrowing) همان کاری است که کامپایلر میکند تا بفهمد کدامیک، و پایهاش...
Typeof narrowingTruthiness narrowingEquality narrowingIn operator narrowingInstanceof narrowingDiscriminated unions+1 - 820 دقیقه
Type Aliasها در مقابل Interfaceها
تا اینجا شکل آبجکتها را همانجا که لازم بوده نوشتهاید و مشکلی هم پیش نیامده، چون شکلها کوچک بودند. حالا این امضای یک فانکشن از یک کدبیس واقعی است:
Type aliasesInterface declarationsExtending interfacesIntersection typesDeclaration mergingWhen to pick which - 925 دقیقه
اختیاری، Readonly و Nullable
رایجترین خطای زمان اجرا در JavaScript این شکلی است:
Optional propertiesReadonly propertiesNon-null assertion operatorOptional chainingNullish coalescingStrictNullChecks - 1020 دقیقه
Enumها
بعضی مقدارها از یک فهرست کوتاه و ثابت میآیند. یک سفارش یا در انتظار است، یا ارسال شده، یا تحویل داده شده. یک خط لاگ یکی از debug، info، warn یا...
Numeric enumsString enumsConst enumsEnums vs string literal unionsReverse mapping caveats - 1130 دقیقه
Genericها
تابعی لازم دارید که یک آرایه بگیرد و اولین عنصرش را برگرداند. ساده است:
Generic functionsGeneric interfacesType parametersType inference for genericsBounded generics with extendsDefault type parameters - 1225 دقیقه
Classها
یک حساب بانکی که به صورت یک شیء ساده نوشته شده:
Class declarationsConstructorsInstance propertiesAccess modifiers (public, private, protected)Readonly fieldsParameter properties+1 - 1325 دقیقه
Inheritance و Classهای Abstract
برای یک سامانهٔ پرداخت سه کلاس نوشتهاید: CardPayment، BankTransfer و Voucher. هر سه یک amount دارند، یک currency و یک createdAt. هر سه متدی به نام...
Extends keywordSuper callsMethod overrideAbstract classesAbstract methodsImplements with interface - 1425 دقیقه
Moduleها
هر فایل TypeScript خودش یک ماژول است. همان لحظهای که فایلی یک import یا export داشته باشد، نامهای سطح بالای آن دیگر سراسری نیستند و دامنهشان به...
ES module syntaxNamed exportsDefault exportType-only importsRe-exportsModule resolution basics - 1530 دقیقه
Utility Typeها
TypeScript یک کتابخانهٔ کوچک از تایپهای جنریک همراه خودش دارد که یک تایپ میگیرند و یک تایپِ تغییریافته تحویل میدهند. اسمهای بیسروصدایی دارند...
Partial<T>Required<T>Readonly<T>Pick<T, K>Omit<T, K>Record<K, V>+2 - 1630 دقیقه
Mapped و Conditional Typeها
تایپهای کمکیای که همین حالا به کار بردید (Partial، Pick، Record، ReturnType) همه از دو امکان خود زبان ساخته شدهاند: تایپهای مپشده برای تبدیل...
Keyof operatorMapped types syntaxKey remapping with asConditional typesInfer keywordDistributive conditional types - 1725 دقیقه
Declaration Fileها و کتابخانهها
یک کتابخانه نصب میکنید، آن را میآورید داخل کد، و ویرایشگرتان با تکمیل خودکار، راهنمای پارامترها و شکل دقیق هر مقدار بازگشتی روشن میشود. کتابخانه...
.d.ts filesDefinitelyTyped (@types packages)Ambient declarationsDeclare moduleTypeRoots and types option - 1830 دقیقه
tsconfig و Compiler
tsconfig.json همان فایلی است که کامپایلر TypeScript میخواند تا بفهمد چه چیزی را و چطور کامپایل کند. بیش از صد گزینه دارد، ولی یک پروژهٔ واقعی شاید...
Tsconfig.jsonStrict modeTarget and libModule and moduleResolutionOutDir and rootDirIncremental and watch+1
TypeScript را به زبان خودت یاد بگیر
هر درس، آزمون و پاسخ مربی به زبان شما نمایش داده میشود. مربی هوشمند به همان زبانی پاسخ میدهد که شما سوال میکنید.
Roles that use TypeScript
See how hiring teams interview engineers on TypeScript, in production-like environments.
Frontend Engineer (React, Angular, Vue)
Hire frontend engineers in real workspaces with Vite, real component libraries and real performance budgets. Live or take-home, fully recorded.
See the interviewFull Stack Developer
Hire full stack developers in real apps with real APIs, real UIs and real tests. Live or take-home, fully recorded.
See the interviewWeb Application Engineer
Hire web application engineers in real apps with real routes, real auth and real test suites. Live or take-home, fully recorded.
See the interview