|
@@ -0,0 +1,104 @@
|
|
|
+// 引用数据类型 Object(object/array/function)
|
|
|
+let a: object;
|
|
|
+// a =1;
|
|
|
+a = [];
|
|
|
+a = {};
|
|
|
+a = function () {};
|
|
|
+
|
|
|
+/**
|
|
|
+ * 对象:
|
|
|
+ * {
|
|
|
+ * 属性名:属性值
|
|
|
+ * ...
|
|
|
+ * 在属性后 添加问号 相当于给当前属性设置可选开关
|
|
|
+ * }
|
|
|
+ */
|
|
|
+let b: {
|
|
|
+ a: number;
|
|
|
+ c: string;
|
|
|
+ d?: boolean;
|
|
|
+ // 可以添加任意属性 任意类型
|
|
|
+ [propName: string]: any;
|
|
|
+};
|
|
|
+
|
|
|
+// b = {
|
|
|
+// a:12,
|
|
|
+// c:'11'
|
|
|
+// }
|
|
|
+b = {
|
|
|
+ a: 12,
|
|
|
+ c: "11",
|
|
|
+ d: false,
|
|
|
+};
|
|
|
+
|
|
|
+b = {
|
|
|
+ a: 12,
|
|
|
+ c: "11",
|
|
|
+ // d: false
|
|
|
+};
|
|
|
+b = {
|
|
|
+ a: 12,
|
|
|
+ c: "11",
|
|
|
+ e: false,
|
|
|
+ f: "12",
|
|
|
+};
|
|
|
+
|
|
|
+/**
|
|
|
+ * 函数
|
|
|
+ *
|
|
|
+ */
|
|
|
+
|
|
|
+let g: (a: number, b: number) => number;
|
|
|
+g = function fn1(a, b) {
|
|
|
+ return a + b;
|
|
|
+};
|
|
|
+g(8, 9);
|
|
|
+
|
|
|
+/**数组
|
|
|
+ * let xxx:type[];
|
|
|
+ * let yyy:Array<type>
|
|
|
+ */
|
|
|
+let x: string[];
|
|
|
+x = ["1", "2"];
|
|
|
+// let y:Array<boolean>=[1,2];
|
|
|
+// let y:Array<boolean>=[true,false];
|
|
|
+
|
|
|
+// 元祖:固定长度的数组
|
|
|
+let z: [number, boolean, number];
|
|
|
+
|
|
|
+z = [1, true, 1];
|
|
|
+
|
|
|
+// 枚举
|
|
|
+enum Sex {
|
|
|
+ man,
|
|
|
+ woman,
|
|
|
+}
|
|
|
+
|
|
|
+let o: {
|
|
|
+ name: string;
|
|
|
+ age: number;
|
|
|
+ sex: Sex;
|
|
|
+};
|
|
|
+
|
|
|
+o = {
|
|
|
+ name: "LiLi",
|
|
|
+ age: 18,
|
|
|
+ sex: Sex.woman,
|
|
|
+};
|
|
|
+
|
|
|
+console.log(o.sex === Sex.man ? "男" : "女");
|
|
|
+
|
|
|
+// 类型别名
|
|
|
+type myType = 1|2|3|4;
|
|
|
+let p:myType = 2;
|
|
|
+
|
|
|
+
|
|
|
+// 逻辑运算符 &
|
|
|
+let r:{name:string}&{age:number};
|
|
|
+r = {
|
|
|
+ name:'孙悟空',
|
|
|
+ age: 18
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+export {};
|