本文小編為大家詳細(xì)介紹“typescript實用程序類型怎么構(gòu)造”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“typescript實用程序類型怎么構(gòu)造”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。
創(chuàng)新互聯(lián)建站IDC提供業(yè)務(wù):成都西云數(shù)據(jù)中心,成都服務(wù)器租用,成都西云數(shù)據(jù)中心,重慶服務(wù)器租用等四川省內(nèi)主機托管與主機租用業(yè)務(wù);數(shù)據(jù)中心含:雙線機房,BGP機房,電信機房,移動機房,聯(lián)通機房。
Partial
構(gòu)造一個所有屬性都Type設(shè)置為可選的類型。此實用程序?qū)⒎祷乇硎窘o定類型的所有子集的類型。
interface Todo {
title: string;
desc: string;
}
function updateTodo(todo: Todo, fieldsToUpdate: Partial
return { ...todo, ...fieldsToUpdate };
}
const todo1 = {
title: 'organize desk',
desc: 'clear clutter',
};
const todo2 = updateTodo(todo1, {
desc: 'throw out trash',
});
Required
構(gòu)造一個由Typeset to required的所有屬性組成的類型
interface Props {
a?: number;
b?: string;
}
const obj: Props = { a: 5 };
const obj2: Required
Readonly
構(gòu)造一個所有屬性都Type設(shè)置為的類型readonly,這意味著不能重新分配構(gòu)造類型的屬性。
interface Todo {
title: string;
}
const todo: Readonly
title: "Delete inactive users",
};
todo.title = "Hello";
Record
構(gòu)造一個對象類型,其屬性鍵為Keys,屬性值為Type。此實用程序可用于將一種類型的屬性映射到另一種類型。
interface CatInfo {
age: number;
breed: string;
}
type CatName = 'miffy' | 'boris' | 'mordred';
const cats: Record
miffy: { age: 10, breed: 'Persian' },
boris: { age: 5, breed: 'Maine Coon' },
mordred: { age: 16, breed: 'British Shorthair' },
};
Pick
通過從 中選取一組屬性Keys(字符串文字或字符串文字的并集)來構(gòu)造一個類型Type。
interface Todo {
title: string;
desc: string;
completed: boolean;
}
type TodoPreview = Pick
const todo: TodoPreview = {
title: 'clean room',
desc: 'ddddd',
};
Omit
通過從中選取所有屬性Type然后刪除Keys(字符串文字或字符串文字的并集)來構(gòu)造類型。
interface Todo {
title: string;
description: string;
completed: boolean;
createdAt: number;
}
type TodoPreview = Omit
const todo: TodoPreview = {
title: 'Clean room',
completed: false,
createdAt: 1615544252770,
};
ReturnType
構(gòu)造一個由 function 的返回類型組成的類型Type。
讀到這里,這篇“typescript實用程序類型怎么構(gòu)造”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。