دليل مساعد TypeScript: تعلّم المفاهيم الأساسية وال أفضل الممارسات

التركيب، التشغيل، الأنواع، الفئات، كل الأساسيات

Page content

هذا هو ملخصي الموجز قائمة المراجع TypeScript التي تغطي المفاهيم الأساسية، واللغة، وأمثلة الكود التي يشير إليها المطورون بشكل متكرر:

قائمة المراجع TypeScript 3D

قائمة المراجع TypeScript

البدء

  • تثبيت عالميًا:
    npm install -g typescript
    
  • تجميع الملف:
    tsc filename.ts
    
  • التحقق من الإصدار:
    tsc --version
    

الأنواع الأساسية

let a: number = 10;
let s: string = "TypeScript";
let b: boolean = true;
let arr: number[] = [1, 2, 3];
let tuple: [string, number] = ["TS", 2025];
let anyValue: any = "المرونة";
let unknownVal: unknown = 5;
let notDefined: undefined = undefined;
let notPresent: null = null;

الأنواع المدمجة والأنواع الأدبية

let id: number | string = 42;
let direction: 'left' | 'right' = 'left';

التوافقات والواجهات

type Point = { x: number; y: number };
interface Person { name: string; age: number; }
let user: Person = { name: "Alice", age: 25 };

الوظائف

function sum(a: number, b: number): number {
  return a + b;
}
const multiply = (a: number, b: number): number => a * b;
function log(msg: string): void { console.log(msg); }

الصفوف

class Animal {
  name: string;
  constructor(name: string) { this.name = name; }
  move(distance: number = 0): void { console.log(`${this.name} moved ${distance}`); }
}

المُعدّلات الوصول

  • public (الافتراضي)، private، protected، readonly
class Point {
  constructor(private x: number, private y: number) {}
}

النماذج العامة

function identity(arg: T): T { return arg; }
let output = identity("myString");

العدادات

enum ResourceType { BOOK, FILE, FILM }
let r: ResourceType = ResourceType.BOOK;

التحويلات / التحويلات

let someVal: unknown = "Hello";
let strLength: number = (someVal as string).length;

الوحدات

// تصدير
export function foo() {}
// استيراد
import { foo } from "./module";

الأنواع المتقدمة

  • الانقراض:
    type A = { a: number }; type B = { b: number };
    type AB = A & B; // { a: number, b: number }
    
  • الشرطية:
    type IsString = T extends string ? true : false;
    
  • المُنَظَّمة:
    type Readonly = { readonly [P in keyof T]: T[P]; }
    
  • نوع الأحرف النمطية:
    type EventName = `on${Capitalize}`;
    

أنواع الأدوات المفيدة

Partial, Required, Readonly, Pick, Omit, Record

الضيق

  • استخدم typeof و instanceof للضيق من النوع:
function padLeft(value: string, padding: string | number) {
  if (typeof padding === "number") {
    return Array(padding + 1).join(" ") + value;
  }
  return padding + value;
}

تُلخص هذه المراجعة التركيب الأساسي والوظائف الأساسية التي تُعتبر ضرورية لمعظم سير عمل تطوير TypeScript.

روابط مفيدة