e 2 月之前
父节点
当前提交
c0d842e680
共有 1 个文件被更改,包括 101 次插入0 次删除
  1. 101 0
      14.ts/2.类型/2.ts

+ 101 - 0
14.ts/2.类型/2.ts

@@ -0,0 +1,101 @@
+import { Serializer } from "v8";
+
+// 引用数据类型
+let a:object;
+a = [];
+a = {};
+a = function() {};
+
+/**类型
+ * 对象的语法
+ * {
+ *  属性名:属性值,
+ * ..
+ * ..
+ * 在属性名后添加问号 相当于给当前属性添加可选开关
+ * }
+ */
+let b: {
+    a:number,
+    b:string,
+    c?:boolean 
+}
+
+b = {
+    a:1,
+    b:'2'
+}
+
+b = {
+    a:11,
+    b:'0',
+    c:true
+}
+// 添加任意属性的任意类型数据
+let c: {
+    a:boolean,
+    b?:string,
+    [propName:string]:any
+}
+c = {
+    a:true,
+    b:'1',
+    hi:"你好",
+    say:"哈哈"
+}
+// 函数
+// 普通函数 箭头函数 匿名函数 立即执行函数
+// 定义函数类型
+let d:(a:number,b:number) => number;
+
+d = function fn1(a:number,b:number) {
+    return a + b;
+}
+d(12,5)
+
+// 数组
+// let xxx:type[]
+// let xxx:Array<type>
+let e:number[]  = [1,2,3,4,5];
+let f:boolean[] = [true,false];
+let g:Array<boolean> = [true,false];
+
+// 元组:固定长度的数组
+let h:[number,boolean];
+h = [1,true];
+
+// 枚举
+enum Sex {
+    man,
+    woman
+}
+
+let i: {
+    name:string,
+    age:number,
+    sex:Sex
+}
+
+i = {
+    name:"Lucy",
+    age: 10,
+    sex: Sex.woman
+}
+
+// 判断:条件 ? '真' : '假'
+console.log(i.sex === Sex.woman? '女' : '男')
+
+// 类型别名
+type myType = 1|2|3|4;
+let j:myType = 3;
+let x:myType = 2;
+
+// 逻辑运算符: | 或 / & 与
+let m: {name:string} & {age:number};
+m = {
+    name:'图图',
+    age: 3
+}
+
+
+export {}