|
@@ -0,0 +1,69 @@
|
|
|
+// 字面量 变量
|
|
|
+// 1 32 true false '哈哈'
|
|
|
+// 变量
|
|
|
+// let a = 10;
|
|
|
+
|
|
|
+// 字面量
|
|
|
+let b:12;
|
|
|
+
|
|
|
+// 字面量的运算
|
|
|
+// 逻辑运算符:&& || !
|
|
|
+
|
|
|
+let c:1|3|5;
|
|
|
+c =1;
|
|
|
+c=3;
|
|
|
+// c=2;
|
|
|
+
|
|
|
+/**
|
|
|
+ * any 隐形写法
|
|
|
+ * let xxx:any 显性写法
|
|
|
+ * 如果给变量赋值any 相当于把改变量关闭了ts的校验
|
|
|
+ */
|
|
|
+let d:any;
|
|
|
+d=0;
|
|
|
+d='hi';
|
|
|
+
|
|
|
+// unknown未知类型
|
|
|
+let e:unknown;
|
|
|
+e = 98;
|
|
|
+e = 'hi';
|
|
|
+e = false;
|
|
|
+ e = d;
|
|
|
+// d = e;
|
|
|
+
|
|
|
+let f:string;
|
|
|
+f = '12';
|
|
|
+
|
|
|
+/**
|
|
|
+ * any 与 unknown区别
|
|
|
+ * any 可以给任意类型进行复制
|
|
|
+ * unknown 不可以给任意类型进行赋值 只能给any进行赋值
|
|
|
+ */
|
|
|
+// f = d;
|
|
|
+// f = e;
|
|
|
+if(typeof f == 'string') {
|
|
|
+ console.log('是字符串')
|
|
|
+}
|
|
|
+
|
|
|
+// 类型断言
|
|
|
+f = <string>d;
|
|
|
+f = d as string;
|
|
|
+
|
|
|
+// void 表示返回的类型是空
|
|
|
+// function fn1():void {
|
|
|
+// // return 1;
|
|
|
+// console.log(1)
|
|
|
+// }
|
|
|
+// fn1()
|
|
|
+// console.log(fn1(),'fn1()')
|
|
|
+
|
|
|
+
|
|
|
+// never 用来表示永远不返回的类型 不允许反出任何结果
|
|
|
+function fn2():never {
|
|
|
+ // return 1;
|
|
|
+ // console.log(1)
|
|
|
+ throw new Error("报错")
|
|
|
+}
|
|
|
+fn1()
|
|
|
+
|
|
|
+// export{};
|