/** * 字面量: 1 2 3 4 5 true false * 变量: * var xxx = aaa; */ // 字面量 let a: 10; // a = '10'; // 逻辑运算符:| & ! let b: "man" | "woman"; b = 'man'; b = 'woman'; // b = 'hi'; // 基本数据类型:number string boolean null undefined // any 任意类型 隐性写法 // 相当于给变量 关闭了类型ts校验 let c; c = 1; c = 'we'; // unknow 未知类型 显性写法 let d:unknown; d =12; d = 'true'; // d = false; // d = null; // d = undefined; // unknown 与 any // any 可以给任意类型进行赋值 // unknown 不可以给任意类型进行赋值 let e:string; e = c; // e = d; // console.log("你好") // if(typeof d === 'string') { // console.log("可以") // e = d; // } // e = d; /** * 类型断言:告诉解析器究竟是什么类型 * <类型>数据 * 数据 as 类型 */ e = d; e = d as string; // void 空 function fn1():void { console.log("1"); // return 1; } fn1() // never 不允许翻出结果 function fn2():never { // console.log("1") throw new Error("报错") } fn2() export {}