类型推论
let str = 'str' // 当没有指定类型,TS自动识别
str =21 //错误,是string 类型
类型断言 as
用来告诉解析器变量实际类型
联合类型 a | b
要求只要符合联合类型中任意一种类型即可
const getLenghe =(content:number|string)=>{
if(typeof content ==="string"){
return content.length;
}else{
return content.toString().length;
}
console.log(getlenghe("asd"); ---3
同时类型 a & b
可选类型 ?
let n:{
name:string,
age?:number
}
n={
name:'孙悟空'
}
代替多组参数类型 [属性名:string]:any
定义多组字符串属性名,值为任意类型,可以代替省略的没有写的参数类型定义
let a:{name:string, [x:string]:any}={
name:'aaa',
age:18,
address:'中国'
}
类型别名 type
type myType = string | number
let k:myType
k = 18 // 没问题
k = 'nih'// 没问题
k = true // 报错