e před 3 měsíci
rodič
revize
19908db53a
1 změnil soubory, kde provedl 108 přidání a 0 odebrání
  1. 108 0
      14.ts/2.类型/2.ts

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

@@ -0,0 +1,108 @@
+// object 是js中的引用数据类型
+// 基本数据类型:number string boolean undefined null
+// 引用数据类型:object(数组、对象、函数)
+let a: object;
+a = [];
+a = {};
+a = function () {};
+// a = 12;
+/**
+ * 对象语法:
+ * {
+ *  属性名:属性值,
+ *  属性名: 属性值
+ *  。。。
+ *  在属性名后添加问号 相当于给当前属性设置可选开关
+ * }
+ */
+let b: {
+  a: number;
+  c: string;
+  d?: boolean;
+};
+
+b = {
+  a: 10,
+  c: "hello",
+};
+
+b = {
+  a: 90,
+  c: "你好",
+  d: true
+};
+/**
+ * [propName:string]:any 可以添加任意属性的任意类型的数据
+ */
+let c:{
+    a:number,
+    b?:string,
+    [propName:string]:any
+}
+
+c = {
+    a: 12,    
+    hi: '哇',
+    wo: 0
+}
+
+let d: (a:number,b:number) => number;
+
+// d = () => {
+//     return 'qq'
+//     // console.log("你好")
+// }
+d = function fn1(a:number,b:number) {
+    return a + b;
+}
+// fn1(89,0)
+// let obj = {
+//     name:'1',
+//     age:10
+// }
+/**
+ * 数组:
+ * let xxx:type[]
+ * let xxx = Array<type>
+ */
+let e:string[];
+let f:number[];
+// e = ['1','2','3'];
+// f = [1,'2',true];
+// let g:boolean[];
+let g =Array<boolean>;
+
+// 元祖:固定长度的数组
+let h:[number,boolean,boolean];
+
+h = [1,true,true];
+// h = ['dh',1,2]
+
+// 枚举
+enum Sex {
+    man,
+    woman
+}
+let k: {
+    name: string,
+    age: number,
+    sex: Sex
+}
+k = {
+    name:"孙悟空",
+    age: 10,
+    sex: Sex.man
+}
+// 条件 ? "真" : "假"
+console.log(k.sex === Sex.woman ? '男' : '女')
+
+// 类型别名
+type myType = 1|2|3|4;
+
+let l:myType = 1;
+let y:myType = 4;
+
+// 逻辑运算符 &
+let o:{name:string} & {age:number}
+o ={name:"孙悟空",age:20}
+export {};