ts中12种类型

134 阅读1分钟

Typescript 类型

  • number 数值
  • string 字符串
  • 字面量
  • Array 数组
  • Object 对象
  • boolean 布尔值
  • any 任意类型
  • unknown 类型安全的any
  • never 没有任何值,比void更加严格连null等都不能返回
  • void 为空 如 null ,undefind或无返回 return;
  • tuple 元组固定长度的数组
  • enum 枚举
let a: number = 1;	// 等同于 let a=1;
let b: string = 'www';// 等同于 let b='www';
let c: = 'man' | 'woman'// 字面量  其中 变量c 只能为 man 或woman
let d;  // 默认为any 等同于 let d:any;
let e: unknown; // 安全的any类型
let f = ():never => {	// 用来抛出异常
    throw new Error("报错了");
}
// 对象声明
let j: {name: string,age?:number};
let h: {name: string,[propName: string]:any};
//数组声明,两种方式
let i: string[]// 字符串数组
let i: Array<number>; // 数值数组
// 元组定义
let g: [string.number];
// 枚举定义
enum Gender{
  male = 0,	// 可以不赋值会自动生成 不同的值
  female = 1
}
// 运用
let i: {name: string,gender: Gender};
i = {
  name: '猴子',
  gender: Gender.male
}
//扩展
let j: string | number;// 可以是字符串,也可以是数值

type myType = string; // 类型取别名 //如 
type myType = 1|2|3|4|5;
let k: myType; k=1;// 正确
k = 6; // 错误,不能为类型六

image.png

   male,female可以不赋值会自动生成 不同的值

image.png


类型断言

let e: unknown = 'aaa';
let s: string;
// 两种方式,效果一样
s = e as string; // 类似于 将e当做string类型,进行赋值
s = <string>e