let n:unknown;
n=1;
n="n";
let m:string = n as string;
console.log(m)
2.类型断言 as,用来告诉解析器变量的实际类型
语法1:变量 as 类型语法2:<类型>变量
3.void和never
void:没有值或undefinednever:不能是任何值(用得少,了解即可) function fn():never{
throw new Error('报错了')
}
4.联合类型(|)
let n:"red" | "blue";
n="red"; // 正确
n="orange"; // 报错
let n:string | number;
n="red"; // 正确
n=true; // 报错
5.对象(Object)
// 属性名后追加?:表示属性是可选的
let obj:{name:string,age?:number}
obj = {name:'张三'}
obj = {name:'张三',sex:'男'} // 报错,不可以多传
// 不确定参数个数
let obj:{name:string,[propName:string]:any}
obj = {name:'张三',age:18}
6.定义函数结构
let fn:(a:number,b:number)=>number;
fn=function(a,b){
return a+b
}
7.数组的类型声明方式
第一种:类型[]第二种:Array<类型>
8.元组:固定长度的数组
let arr:[number,number]
arr = [1,2]
arr = [1,2,3] // 报错
9.枚举(enum) 默认从0开始,依次增大序号(注意点:如果第一个值给的不是number类型,后面跟着的值也需要赋给初始值)
enum Color{
Red,
Blue='blue'
}
console.log(Color.Red,Color.Blue) // 0, "blue"
10.同时满足(&)
let obj:{name:string} & {age:number}
obj = {name:'张三',age:18}
obj = {name:'张三',age:18,sex:1} // 报错
obj = {name:'张三'} // 报错
11.类型别名
type types = 1 | 2 | 3
let a:types
let b:types
a=1
a=4 // 报错
12.类
// 写法一
name:string
constructor(name:string){
this.name = name
}
// 写法二
constructor(public name:string){
}
implements实现接口extends继承
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)