您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“typescript實用程序類型怎么構造”,內容詳細,步驟清晰,細節處理妥當,希望這篇“typescript實用程序類型怎么構造”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
Partial
構造一個所有屬性都Type設置為可選的類型。此實用程序將返回表示給定類型的所有子集的類型。
interface Todo {
title: string;
desc: string;
}
function updateTodo(todo: Todo, fieldsToUpdate: Partial<Todo>) {
return { ...todo, ...fieldsToUpdate };
}
const todo1 = {
title: 'organize desk',
desc: 'clear clutter',
};
const todo2 = updateTodo(todo1, {
desc: 'throw out trash',
});
Required
構造一個由Typeset to required的所有屬性組成的類型
interface Props {
a?: number;
b?: string;
}
const obj: Props = { a: 5 };
const obj2: Required<Props> = { a: 5 };
Readonly
構造一個所有屬性都Type設置為的類型readonly,這意味著不能重新分配構造類型的屬性。
interface Todo {
title: string;
}
const todo: Readonly<Todo> = {
title: "Delete inactive users",
};
todo.title = "Hello";
Record<Keys,Type>
構造一個對象類型,其屬性鍵為Keys,屬性值為Type。此實用程序可用于將一種類型的屬性映射到另一種類型。
interface CatInfo {
age: number;
breed: string;
}
type CatName = 'miffy' | 'boris' | 'mordred';
const cats: Record<CatName, CatInfo> = {
miffy: { age: 10, breed: 'Persian' },
boris: { age: 5, breed: 'Maine Coon' },
mordred: { age: 16, breed: 'British Shorthair' },
};
Pick<Type, Keys>
通過從 中選取一組屬性Keys(字符串文字或字符串文字的并集)來構造一個類型Type。
interface Todo {
title: string;
desc: string;
completed: boolean;
}
type TodoPreview = Pick<Todo, 'title' | 'desc'>;
const todo: TodoPreview = {
title: 'clean room',
desc: 'ddddd',
};
Omit<Type, Keys>
通過從中選取所有屬性Type然后刪除Keys(字符串文字或字符串文字的并集)來構造類型。
interface Todo {
title: string;
description: string;
completed: boolean;
createdAt: number;
}
type TodoPreview = Omit<Todo, 'description'>;
const todo: TodoPreview = {
title: 'Clean room',
completed: false,
createdAt: 1615544252770,
};
ReturnType
構造一個由 function 的返回類型組成的類型Type。
讀到這里,這篇“typescript實用程序類型怎么構造”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。