重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
本文小编为大家详细介绍“typescript实用程序类型怎么构造”,内容详细,步骤清晰,细节处理妥当,希望这篇“typescript实用程序类型怎么构造”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
创新互联建站IDC提供业务:成都西云数据中心,成都服务器租用,成都西云数据中心,重庆服务器租用等四川省内主机托管与主机租用业务;数据中心含:双线机房,BGP机房,电信机房,移动机房,联通机房。
Partial
构造一个所有属性都Type设置为可选的类型。此实用程序将返回表示给定类型的所有子集的类型。
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
构造一个由Typeset to required的所有属性组成的类型
interface Props {
a?: number;
b?: string;
}
const obj: Props = { a: 5 };
const obj2: Required
Readonly
构造一个所有属性都Type设置为的类型readonly,这意味着不能重新分配构造类型的属性。
interface Todo {
title: string;
}
const todo: Readonly
title: "Delete inactive users",
};
todo.title = "Hello";
Record
构造一个对象类型,其属性键为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(字符串文字或字符串文字的并集)来构造一个类型Type。
interface Todo {
title: string;
desc: string;
completed: boolean;
}
type TodoPreview = Pick
const todo: TodoPreview = {
title: 'clean room',
desc: 'ddddd',
};
Omit
通过从中选取所有属性Type然后删除Keys(字符串文字或字符串文字的并集)来构造类型。
interface Todo {
title: string;
description: string;
completed: boolean;
createdAt: number;
}
type TodoPreview = Omit
const todo: TodoPreview = {
title: 'Clean room',
completed: false,
createdAt: 1615544252770,
};
ReturnType
构造一个由 function 的返回类型组成的类型Type。
读到这里,这篇“typescript实用程序类型怎么构造”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注创新互联行业资讯频道。