TypeScript------基础

81 阅读1分钟

/* 限制参数和返回值类型 */

function sum(a:number,b:number):number{ return a+b }

直接使用字面量类型声明,限制a的值为10

let a:10;

使用 | 连接多个类型(联合类型)

let b:'male'|'female'

let c:boolean|string;

c=true

let s:string

any表示任意类型,一个变量设置为any相当于关闭了类型监测

let d:any d=10 d='hello' s=d

声明变量不赋值,将自动为any

let e;

unkwom 表示未知类型,不能赋值给其他变量

let f:unknown if(typeof f==='string'){ s=f }

类型断言:用来告诉解析器变unkwom量的实际类型

s=f as string s=<string>f

变量 as 类型 <类型> 变量 */

void 表示空,以函数为例,表示没有返回值的函数

function fn():void{ return } //nerver表示不会有返回值 function fn1():never{ throw new Error('爆索') }

指定对象中可以包含多个属性 属性名加?,表示是可选的

let o:{name:string,age?:number} o={name:'张三',age:18}

表示任意类型属性名为为string的属性

let g:{name:string,[xxx:string]:any}

对y的参数以及返回值类型做出限制

let y:(a:number,b:number)=>number;

y=function(n1:number,n2:number):number{ return n1+n2 }

对数组的类型做出限制

let arr:string[] let arr1:Array<number>

/* 元组,固定长度的数组 / let h:[string,string] / 枚举 */

enum Gender{ Male=0, Famale=1 } let k:{name:string,gender:Gender} k={ name:'苏子', gender:Gender.Male }

&表示同时

let p:{name:string}&{age:number}

p={name:'suzu',age:18}

类型别名

type myType=1|2|3|4|5 let u:myType