TypeScript(类型断言,Omit,&,Pick,Partial,Required)

目录

类型断言

1. as 语法

2.“尖括号”<> 语法

Omit(去除类型中某些项)

1.去除单个项

2. 去除多个项

Pick选取类型中指定类型

给类型加上指定类型 &

Partial将类型中所有选项变为可选(即加上?)

Required将类型中所有选项变为必选(去除所有?)


类型断言

1. as 语法

let strValue: any = 'this is string type';
let strLength: number = (strValue as string).length;

2.“尖括号”<> 语法

let strValue = 'this is a string type';
let strLength = (<string>strValue).length;

应用场景:

在使用pinia引入数据productInter时需要ts语法中的类型断言,数据类型为productInter声明的数据类型,其为数组,则state声明productList空数组的时候用到类型断言

state:()=>{
   return{
    productList:[] as productInter[]
  }
}

Omit(去除类型中某些项)

type UserInfo = {
  name: string; // 姓名
  phone?: string; // 手机号
  email: string; // 邮箱
  avatar: string; // 头像
  userid: string; // id
}

1.去除单个项

type OmitEmail = Omit<UserInfo, 'email'>;
/*
 OmitEmail{
  name: string;
  phone?: string;
  avatar: string;
  userid: string;
} */

2. 去除多个项

type OmitEmailAvatar = Omit<UserInfo, 'email' | 'avatar'>;
/* 
OmitEmailAvatar {
  name: string;
  phone?: string; 
  userid: string;
} */

Pick选取类型中指定类型

只要UserInfo中的姓名和电话项

interface ContactPick extends Pick<UserInfo, 'name' | 'phone'> { }
/* 
ContactPick {
  name: string;
  phone?: string; 
} */

给类型加上指定类型 &

已经定义好了数据类型,现在需要给其中一些加上id这个类型

type Connect = {
  id: number
} & UserInfo

Partial将类型中所有选项变为可选(即加上?)

type PartialContact = Partial<UserInfo>
/* 
PartialContact{
  name?: string; // 姓名
  phone?: string; // 手机号
  email?: string; // 邮箱
  avatar?: string; // 头像
  userid?: string; // id
} */

Required将类型中所有选项变为必选(去除所有?)

type RequiredContact = Required<UserInfo>
/* 
RequiredContact{
  name: string; // 姓名
  phone: string; // 手机号
  email: string; // 邮箱
  avatar: string; // 头像
  userid: string; // id
}
 */

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值