ts的常用的内置类型

116 阅读1分钟

本文作为索引,仅记录常用内置工具类型

1.Required<T> 转为必选属性

2.Partial<T> 转为可选属性

3.Readonly<T> 转为只读属性

4.Recods<K, T> 标识 {K: T} 对象

5.Pick<T, K> 从类型T中,仅检出 K 属性,返回新的类型

6.Exclude<T, K> 从类型T中,排除 K 属性,返回新的类型

7.Omit<T, K> 从类型T中,排除 K 属性,返回新的类型

其他:Pick<T, K>Exclude<T, K>Omit<T, K>小谈

凭个人喜好,这3个方法,都可以从类型中,摘取一部分想要的属性

// 定义一个 Person
interface Person {
  name: string;
  age: number;
  address: string;
}
// 新的属性,仅需要 name, age
type NameAndAge = Pick<Person, 'name' | 'age'>;
type PersonWithoutAddress = Omit<Person, 'address'>;
type PersonWithoutAddress = Exclude<Person, 'address'>;

// NameAndAge 的类型为:
// {
//   name: string;
//   age: number;
// }

// PersonWithoutAddress 的类型为:
// {
//   name: string;
//   age: number;
// }

// PersonWithoutAddressOrAge 的类型为:
// {
//   name: string;
//   age: number;
// }

keyof 返回某个属性的所有键

valueof 返回某个属性的所有值的类型

这里需要注意的是,与 keyof 不同,返回的是值的类型

结束了