TypeScript utility tiplari
TypeScript ko‘p sonli turlar bilan birga keladi, ular ba’zi bir umumiy turdagi manipulyatsiyalarda yordam beradi, odatda yordam turlari deb ataladi.
Ushbu bo‘lim eng mashhur yordamchi dasturlarni o‘z ichiga oladi.
Qisman
Partial obyektdagi barcha xususiyatlarni ixtiyoriy qilib o‘zgartiradi.
Misol
interface Point {
x: number;
y: number;
}
let pointPart: Partial<Point> = {}; // `Partial` allows x and y to be optional
pointPart.x = 10;
O‘zingiz sinab ko‘ring »
Majburiy
Required obyektdagi barcha xususiyatlarni talab qilinadigan o‘zgartiradi.
Misol
interface Car {
make: string;
model: string;
mileage?: number;
}
let myCar: Required<Car> = {
make: 'Ford',
model: 'Focus',
mileage: 12000 // `Required` forces mileage to be defined
};
O‘zingiz sinab ko‘ring »
Yozib olish
Record - muayyan kalit turi va qiymat turi bilan obyekt turini aniqlash uchun yorliq.
Misol
const nameAgeMap: Record<string, number> = {
'Alice': 21,
'Bob': 25
};
O‘zingiz sinab ko‘ring »
Record<string, number> { [key: string]: number }’ga ekvivalent
O‘tkazib yubormang
Omit obyekt turidan kalitlarni olib tashlaydi.
Misol
interface Person {
name: string;
age: number;
location?: string;
}
const bob: Omit<Person, 'age' | 'location'> = {
name: 'Bob'
// `Omit` has removed age and location from the type and they can't be defined here
};
O‘zingiz sinab ko‘ring »
Tanlash
Pick obyekt turidan ko‘rsatilgan kalitlardan tashqari hammasini olib tashlaydi.
Misol
interface Person {
name: string;
age: number;
location?: string;
}
const bob: Pick<Person, 'name'> = {
name: 'Bob'
// `Pick` has only kept name, so age and location were removed from the type and they can't be defined here
};
O‘zingiz sinab ko‘ring »
Cheklash
Exclude birlashmadan turlarni olib tashlaydi.
Misol
type Primitive = string | number | boolean
const value: Exclude<Primitive, string> = true; // a string cannot be used here since Exclude removed it from the type.
O‘zingiz sinab ko‘ring »
Qaytish turi
ReturnType funksiya turining qaytish turini chiqaradi.
Misol
type PointGenerator = () => { x: number; y: number; };
const point: ReturnType<PointGenerator> = {
x: 10,
y: 20
};
O‘zingiz sinab ko‘ring »
Parametrlar
Parameters massiv sifatida funksiya turining parametr turlarini chiqaradi.
Misol
type PointPrinter = (p: { x: number; y: number; }) => void;
const point: Parameters<PointPrinter>[0] = {
x: 10,
y: 20
};
O‘zingiz sinab ko‘ring »
Faqat o‘qish
Readonly barcha xususiyatlar faqat o‘qiladigan yangi tur yaratish uchun ishlatiladi, ya’ni qiymat berilgandan keyin ularni o‘zgartirib bo‘lmaydi.
Esda tutingki, TypeScript kompilyatsiya vaqtida buni oldini oladi, lekin nazariy jihatdan u JavaScript-ga kompilyatsiya qilingani uchun siz hali ham faqat o‘qish xususiyatini bekor qilishingiz mumkin.
Misol
interface Person {
name: string;
age: number;
}
const person: Readonly<Person> = {
name: "Dylan",
age: 35,
};
person.name = 'Israel'; // prog.ts(11,8): error TS2540: Cannot assign to 'name' because it is a read-only property.
O‘zingiz sinab ko‘ring »
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
