// 字面量:固定的值 // 1 2 3 56 7 true false let a:1; let a1; // 逻辑运算符:| let b: "man" | "woman"; b = "man"; b = "woman"; // b = '1111'; // let b:number // any任意类型 // ts通过类型校验数据 // 如果在ts中使用any 相当于关闭了当前数据的类型校验 // 定义变量 不进行类型赋值 自动编译成any (隐性类型) let c; c = 1; c = '1'; c = true; c = false; c = 'hi'; // unknown 定义未知类型 (显性类型) let d:unknown; d = 1; d = '33'; d = false; d = undefined; d = 'hello'; let e:string; // any类型数据可以直接赋值 e = c; // unknown 类型不可以直接赋值 // e = d; // if(typeof d === 'string') { // e = d; // } // 类型断言:可以告诉我们将要解析的数据的实际类型 /** * 数据 as 类型 * <类型>数据 */ // e = d as string; e = d; // void 相当于空的意思 拿函数举例 相当于没有返回值 function fn1():void { console.log("aaa") // "哈哈哈"; // return "哈哈哈"; } console.log(fn1()) let cc:void; // never 不允许反出结果 function fn2():never { // return 111; throw new Error("报错") } fn2() // export{}