e 1 жил өмнө
parent
commit
0689594e36

+ 58 - 0
ts/2.类型/1.js

@@ -0,0 +1,58 @@
+/**
+ * 1 2 4 67 8 true false => 字面量
+ * var 变量名 = 变量值;
+ */
+// 直接定义字面量
+var a;
+a = 10;
+// a = '10';
+// 逻辑运算符 && | !
+// | 
+var b;
+b = "man";
+b = "woman";
+// b = "ccc";
+// number string undefined null boolean 
+// let a1  = 1;
+// 任意类型 any 隐性类型
+// 如果给变量定义类型是any 相当于关闭了ts校验
+var c;
+c = 1;
+c = "1";
+// c = true;
+// c = null
+// unknown 未知类型 显性类型
+var d;
+d = 1;
+d = "1";
+d = true;
+d = null;
+d = 'hello';
+var e;
+// unknown 与 any 
+// any可以给任意类型进行赋值
+// unknown不可以给任意类型进行赋值
+e = c;
+// e = d;
+// if(typeof d === 'string') {
+//     e = d;
+// }
+// 类型断言:告知解析器究竟是什么类型
+/**
+ * 数据 as 类型
+ * <类型>数据
+ */
+// e = d;
+// e = d as string;
+e = d;
+// void 用来表示空的类型
+function fn1() {
+    console.log("fn1");
+    // return '哈哈';
+}
+fn1();
+// never 
+function fn2() {
+    throw new Error("fn2");
+}
+fn2();

+ 27 - 4
ts/2.类型/1.ts

@@ -18,7 +18,7 @@ b = "woman";
 // 任意类型 any 隐性类型
 // 如果给变量定义类型是any 相当于关闭了ts校验
 let c;
-c = 1;
+c = 1; 
 c ="1";
 // c = true;
 // c = null
@@ -38,6 +38,29 @@ let e:string;
 // unknown不可以给任意类型进行赋值
 e = c;
 // e = d;
-if(typeof d === 'string') {
-    e = d;
-}
+// if(typeof d === 'string') {
+//     e = d;
+// }
+
+// 类型断言:告知解析器究竟是什么类型
+/**
+ * 数据 as 类型
+ * <类型>数据
+ */
+// e = d;
+// e = d as string;
+e = <string>d;
+
+// void 用来表示空的类型
+function fn1():void {
+    console.log("fn1")
+    // return '哈哈';
+}
+fn1()
+
+// never 不允许反出结果
+function fn2():never {
+    // 11;
+    throw new Error("fn2")
+}
+fn2();

+ 22 - 0
ts/2.类型/2.ts

@@ -0,0 +1,22 @@
+// object 是js中的一个类型
+// 基本数据类型:number string undefined null boolean 
+// 引用数据类型: Object(Array object function)
+let a:object;
+a = {};
+a = [];
+a = function() {};
+/**
+ * 对象语法
+ * {属性名:属性值,属性名?:属性值...}
+ * 属性名后添加问号 相当于给当前属性设置可选开关
+ */
+let b:{a:number,b?:string};
+b = {a:1,b:'1'};
+b = {a:5};
+/**
+ * [propName:string]:any 可以添加任意属性的任意类型的数据
+ */
+let c:{a:number,b?:string,[propName:string]:any};
+c = {a:10,b:'12',c:14,d:true};
+// let b = {a:1,b:1}
+export{}

+ 11 - 0
ts/2.类型/index.html

@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>Document</title>
+</head>
+<body>
+    <script src="./1.js"></script>
+</body>
+</html>