دليل مساعد TypeScript: تعلّم المفاهيم الأساسية وال أفضل الممارسات
التركيب، التشغيل، الأنواع، الفئات، كل الأساسيات
Page content
هذا هو ملخصي الموجز قائمة المراجع TypeScript التي تغطي المفاهيم الأساسية، واللغة، وأمثلة الكود التي يشير إليها المطورون بشكل متكرر:
قائمة المراجع 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.