// 也可以直接使用字面量进行类型声明
let bi : boolean | string;
bi = "male";
bi = false
// any 表示的是任意类型,一个变量设置为any后相当于变量关闭了ts类型检测
// 使用ts不建议使用any类型
let anyThing :any
anyThing = 'hello'
anyThing = 10
anyThing = false
// 若声明的类型不指定类型,则ts解析器会自动判断变量的类型为any(隐式的any),应该避免
let hideAny
hideAny = 10
hideAny ='hello'
hideAny = false
// unknown表示未知的类型赋值
let y:unknown
let s:string
y = 'hello'
// s = y 因为 y 为unknown,即便是赋值hello它依然是unkonwn 所以赋值给string类型的s时报错
// unknown 实际上类型安全上的any,unknown类型的变量不能直接赋值给其他变量
if(typeof y === "string"){
y = s
}
// 类型断言,可以高速解析器变量实际类型
/*
语法:变量 as 类型
<类型>变量
*/
y = s as string;
y = <string>s;
// void 用表示空,以函数为例,就表示没有返回值的函数
function fn():void{
return
}
// never 表示没有值,永远不会返回结果
function ff(): never{
throw new Error('报错了!')
}
01-TS学习记录->类型声明(隐式)
于 2022-03-14 19:50:20 首次发布