e vor 1 Jahr
Ursprung
Commit
b0ae9bd55b
5 geänderte Dateien mit 159 neuen und 5 gelöschten Zeilen
  1. 56 0
      ts/晚课/2.类型/1.js
  2. 29 5
      ts/晚课/2.类型/1.ts
  3. 31 0
      ts/晚课/2.类型/2.js
  4. 32 0
      ts/晚课/2.类型/2.ts
  5. 11 0
      ts/晚课/2.类型/index.html

+ 56 - 0
ts/晚课/2.类型/1.js

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

+ 29 - 5
ts/晚课/2.类型/1.ts

@@ -1,7 +1,7 @@
 // 字面量:固定的值
 // 1 2 3 56 7 true false 
 let a:1;
-let a1:true;
+let a1;
 // 逻辑运算符:|
 let b: "man" | "woman";
 
@@ -36,14 +36,38 @@ let e:string;
 
 // any类型数据可以直接赋值
 e = c;
+
 // unknown 类型不可以直接赋值
 // e = d;
 
-if(typeof d === 'string') {
-    e = d;
-}
+// if(typeof d === 'string') {
+//     e = d;
+// }
+
+// 类型断言:可以告诉我们将要解析的数据的实际类型
 
+/**
+ * 数据 as 类型
+ * <类型>数据
+ */
+// e = d as string;
+e = <string>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{}
+// export{}

+ 31 - 0
ts/晚课/2.类型/2.js

@@ -0,0 +1,31 @@
+// object:object function array 
+/**
+ * 对象语法
+ * {属性名:类型,属性名?:类型...}
+ */
+// ? 代表属性可选 添加到属性名后
+// [propName:string]:any 在当前对象后添加任意个数的任意类型的任意数据
+var a;
+a = {
+    name: "孙悟空",
+    age: 20
+};
+a = {
+    name: "猪八戒"
+};
+a = {
+    name: "孙悟空",
+    age: 20,
+    sex: "男",
+    hobby: "吃仙丹"
+};
+/**
+ * 函数语法
+ * (形参:类型,形参:类型,形参:类型,) => 返回值类型
+ */
+var b;
+b = function (name, age) {
+    return name + age;
+};
+console.log(b('11', 2));
+// export{};

+ 32 - 0
ts/晚课/2.类型/2.ts

@@ -0,0 +1,32 @@
+// object:object function array 
+
+/**
+ * 对象语法
+ * {属性名:类型,属性名?:类型...}
+ */
+// ? 代表属性可选 添加到属性名后
+// [propName:string]:any 在当前对象后添加任意个数的任意类型的任意数据
+let a:{name:string,age?:number,[propName:string]:any};
+a = {
+    name:"孙悟空",
+    age: 20
+}
+a = {
+    name:"猪八戒"
+}
+a = {
+    name:"孙悟空",
+    age: 20,
+    sex: "男",
+    hobby: "吃仙丹"
+}
+/**
+ * 函数语法
+ * (形参:类型,形参:类型,形参:类型,) => 返回值类型
+ */
+let b:(name:string,age:number) => string;
+b = function(name:string,age:number):string {
+    return name + age;
+}
+console.log(b('11',2))
+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="./2.js"></script>
+</body>
+</html>