2021-09-06 TypeScript

一、一些基本操作

1、Record

作用:能够快速的为object创建统一的key和value类型

Record用于定义一个对象的类型,约束key是字符串,value是任意类型

const user:Record = {

    name: 'chengfeng',

    age: 10

}

2、Partial <>

作用是将传入的属性变为可选项

interface iUser {

    age: number;

    name: string;

}

const user: Partial = {

    age: 20,

};

定义的结构可以是接口iUser的任意key

3、Readonly <>

作用是将传入的属性变为变成只读

interface iUser {

    age: number;

    name: string;

}

const user: Readonly = {

   age: 20,

    name: chenfeng;

};

age、name属性就是只读的了

4、Required <>

作用是将传入的属性变为必选项

interface iUser {

    age?: number;

    name?: string;

}

const user1: Props = { name: 'zs' }; // OK

const user2: Required = { name: 'zs' }; // Error: property 'age' missing

5、Pick

作用:从一组属性中拿出某个属性,并将其返回

interface iUser {

     age: number;

    name: string;

    sex: string;

}

type  user =  Pick   //  {  name: string }

6、Omit

作用:从一组属性中排除某个属性,并将排除属性后的结果返回。

Omit的使用方法与Pick的结果是相反的,如果说Pick是取出,那么Omit则是过滤

interface iUser {

     age: number;

    name: string;

    sex: string;

}

type  user =  Omit   //  {   age: number;sex: string }

7、Exclude

作用: 从一个联合类型中排除掉属于另一个联合类型的子集

Exclude,如果T中的属性在S不存在那么就会返回。

栗子1

type  num= Exclude<‘1,2,3,4,5’, ‘1,3’>  //  { 2,4,5 }

栗子2

interface iUser1 {

     age: number;

    name: string;

    sex: string;

}

interface iUser2 {

     age: number;

    name: string;

}

type  user = Exclude //  { sex: string;}

8、Extract

作用:跟Exclude相反,从从一个联合类型中取出属于另一个联合类型的子集

如果Exclude是取差集,那么Extract就是取交集。会返回两个联合类型中相同的部分。

栗子1

type  num= Extract<‘1,2,3,4,5’, ‘1,3’>  //  { 1,3 }

栗子2

interface iUser1 {

     age: number;

    name: string;

    sex: string;

}

interface iUser2 {

     age: number;

    name: string;

}

type  user = Extract  //  { age: number;   name: string;}

二、一些易用方法

待补充

你可能感兴趣的:(2021-09-06 TypeScript)