zheng 3 өдөр өмнө
parent
commit
27739bcdf0

+ 2 - 1
19.ts/初始/index.html → 19.ts/index.html

@@ -6,6 +6,7 @@
     <title>Document</title>
     <title>Document</title>
 </head>
 </head>
 <body>
 <body>
-    <script src="./1.ts" type="module"></script>
+    <!-- <script src="./1.ts" type="module"></script> -->
+     <script src="./类型/1.js"></script>
 </body>
 </body>
 </html>
 </html>

+ 8 - 4
19.ts/初始/1.js

@@ -1,7 +1,9 @@
+"use strict";
 // js => javaScript 
 // js => javaScript 
 // let a = 20;
 // let a = 20;
 // 数据 决定 类型
 // 数据 决定 类型
 // 弱语言
 // 弱语言
+Object.defineProperty(exports, "__esModule", { value: true });
 // ts => typeScript
 // ts => typeScript
 // var a:string;
 // var a:string;
 // a = 10;
 // a = 10;
@@ -11,7 +13,9 @@
 // ts变量第一次赋值是什么类型 之后永远只能用这个类型 不能改!
 // ts变量第一次赋值是什么类型 之后永远只能用这个类型 不能改!
 var a = 12;
 var a = 12;
 a = 44;
 a = 44;
-// 全局安装:npm install -g typescript
-// 查看是否安装成功: tsc -v
-// 编译ts:tsc 名称
-// export {}
+// let xxx:类型 = 值
+var x;
+x = true;
+// 解决重复变量定义
+// 让ts作为独立的模块
+// 将编译后的js自动转成严格模式

+ 64 - 0
19.ts/类型/1.js

@@ -0,0 +1,64 @@
+// 字面量 = 变量只能是你写死的那个值 必须是一个精确地值
+var a;
+// a =20;
+// 逻辑运算符 | (联合类型)
+var b;
+b = 'man';
+b = 'woman';
+// let c1: number = 10;
+// let c2: string = '10';
+// let c3: null = null;
+// let c4: undefined = undefined;
+// let c5: boolean = true;
+// let c6: symbol = Symbol("xxx");
+// let c7: bigint = BigInt(5637742873827823784);
+// null undefined区别
+// b = 12;
+// 任意类型 隐性
+// let d: any;
+var d;
+// d = 1;
+d = '12';
+// d = Symbol(1);
+// d = null;
+// 未知类型 安全的any 显性
+var e;
+// let e;
+// e = 1;
+e = '12';
+// e = Symbol(1);
+// e = null;
+// any unknown 区别
+// any可以给任意变量赋值
+// unknown不能直接赋值
+var f;
+// f = d;
+// f = e;
+/**
+ * 类型断言
+ * 告知ts 开发者确定当前的值是什么目标类型 强制跳过了类型的判断
+ * 格式:
+ *
+ * f = d as string;
+ * f = <string>d;
+ * */
+f = d;
+f = d;
+var val = 'hello';
+var str = val;
+// 类型转换
+var x = '123';
+var y = Number(x);
+// void 用于表示空 函数没有返回值
+// function fn1():void {
+//     console.log("fn1");
+//     // return 12;
+// }
+// never 永远不会有结果
+function fn1() {
+    throw new Error("报错");
+    //  console.log("fn1");
+    //  return 12;
+}
+console.log(fn1());
+// export { }

+ 39 - 8
19.ts/类型/1.ts

@@ -5,13 +5,13 @@ let a: 10;
 let b: 'man' | 'woman';
 let b: 'man' | 'woman';
 b = 'man';
 b = 'man';
 b = 'woman'
 b = 'woman'
-let c1: number = 10;
-let c2: string = '10';
-let c3: null = null;
-let c4: undefined = undefined;
-let c5: boolean = true;
-let c6: symbol = Symbol("xxx");
-let c7: bigint = BigInt(5637742873827823784);
+// let c1: number = 10;
+// let c2: string = '10';
+// let c3: null = null;
+// let c4: undefined = undefined;
+// let c5: boolean = true;
+// let c6: symbol = Symbol("xxx");
+// let c7: bigint = BigInt(5637742873827823784);
 // null undefined区别
 // null undefined区别
 // b = 12;
 // b = 12;
 // 任意类型 隐性
 // 任意类型 隐性
@@ -34,4 +34,35 @@ e = '12';
 let f:string;
 let f:string;
 // f = d;
 // f = d;
 // f = e;
 // f = e;
-export { }
+
+/**
+ * 类型断言
+ * 告知ts 开发者确定当前的值是什么目标类型 强制跳过了类型的判断
+ * 格式:
+ *  
+ * f = d as string;
+ * f = <string>d;
+ * */
+f = d as string;
+f = <string>d;
+let val:any = 'hello';
+let str = val as string;
+// 类型转换
+let x = '123';
+let y = Number(x);
+
+// void 用于表示空 函数没有返回值
+// function fn1():void {
+//     console.log("fn1");
+//     // return 12;
+// }
+
+// never 永远不会有结果 函数永远执行不完
+function fn1():never {
+    throw new Error("报错")
+    //  console.log("fn1");
+    //  return 12;
+}
+console.log(fn1())
+// export { }
+