|
@@ -1,5 +1,77 @@
|
|
|
/**
|
|
|
* 基本数据类型:number string null undefined boolean
|
|
|
* 引用数据类型:object(对象 数组 函数)
|
|
|
+ * 校验数据类型的方法
|
|
|
* typeof instaceof Object.prototype.toString.call constructor
|
|
|
- */
|
|
|
+ */
|
|
|
+
|
|
|
+// 变量
|
|
|
+let a: number = 10;
|
|
|
+let b: string = '12';
|
|
|
+let c: null;
|
|
|
+let d: undefined;
|
|
|
+let e: boolean = false;
|
|
|
+
|
|
|
+
|
|
|
+// let f = 12;
|
|
|
+// f = '12';
|
|
|
+
|
|
|
+// any 任意类型 只声明未定义 默认相当于 隐性any
|
|
|
+let a1;
|
|
|
+a1 = 12;
|
|
|
+a1 = '12';
|
|
|
+a1 = '哈哈哈';
|
|
|
+
|
|
|
+// unknow 未知类型 显性写法
|
|
|
+let a2:unknown;
|
|
|
+a2 = 12;
|
|
|
+a2 = '12';
|
|
|
+a2 = false;
|
|
|
+a2 = 'heihei'
|
|
|
+// 区别
|
|
|
+// a2 = a1;
|
|
|
+a1 = a2;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+let a3: string;
|
|
|
+// a3 = '20';
|
|
|
+// a3 =a2;
|
|
|
+// a3 = a1;
|
|
|
+
|
|
|
+/**
|
|
|
+ * unknow与any区别
|
|
|
+ * any可以给任意类型进行赋值
|
|
|
+ * unknow不可以给任意类型进行赋值 只能给any进行赋值
|
|
|
+ */
|
|
|
+
|
|
|
+// if(typeof a3 === 'string') {
|
|
|
+// console.log("走进来")
|
|
|
+// }
|
|
|
+
|
|
|
+// 类型断言 告知浏览器当前值是什么类型
|
|
|
+a3 = <string>'哈哈';
|
|
|
+a3 = '12' as string;
|
|
|
+// 格式: 变量名 = <类型>值
|
|
|
+// 格式: 变量名 = 值 as 类型
|
|
|
+
|
|
|
+
|
|
|
+// nerver 用来表示 永远不返回类型 不允许发出结果 只能反出爆粗
|
|
|
+function fn1():never {
|
|
|
+ // return 12;
|
|
|
+ throw new Error()
|
|
|
+ // return 12
|
|
|
+}
|
|
|
+fn1();
|
|
|
+
|
|
|
+
|
|
|
+// void 用来表示空的类型
|
|
|
+function fn2():void {
|
|
|
+ console.log("你好")
|
|
|
+ // return 12;
|
|
|
+}
|
|
|
+fn2()
|
|
|
+
|
|
|
+export { };
|
|
|
+
|
|
|
+
|