目录
类型断言
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 = (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;
/*
OmitEmail{
name: string;
phone?: string;
avatar: string;
userid: string;
} */
2. 去除多个项
type OmitEmailAvatar = Omit;
/*
OmitEmailAvatar {
name: string;
phone?: string;
userid: string;
} */
Pick选取类型中指定类型
只要UserInfo中的姓名和电话项
interface ContactPick extends Pick { }
/*
ContactPick {
name: string;
phone?: string;
} */
给类型加上指定类型 &
已经定义好了数据类型,现在需要给其中一些加上id这个类型
type Connect = {
id: number
} & UserInfo
Partial将类型中所有选项变为可选(即加上?)
type PartialContact = Partial
/*
PartialContact{
name?: string; // 姓名
phone?: string; // 手机号
email?: string; // 邮箱
avatar?: string; // 头像
userid?: string; // id
} */
Required将类型中所有选项变为必选(去除所有?)
type RequiredContact = Required
/*
RequiredContact{
name: string; // 姓名
phone: string; // 手机号
email: string; // 邮箱
avatar: string; // 头像
userid: string; // id
}
*/
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)