|
@@ -0,0 +1,91 @@
|
|
|
|
|
+// 对象
|
|
|
|
|
+let a1: object;
|
|
|
|
|
+a1 = {};
|
|
|
|
|
+a1 = [];
|
|
|
|
|
+a1 = function () { }
|
|
|
|
|
+
|
|
|
|
|
+/**
|
|
|
|
|
+ * 对象语法
|
|
|
|
|
+ * {属性名:属性类型,属性名?:属性类型}
|
|
|
|
|
+ * 属性名后面添加问号 该属性变成可选属性
|
|
|
|
|
+ */
|
|
|
|
|
+let b1: {
|
|
|
|
|
+ a: number,
|
|
|
|
|
+ b: string,
|
|
|
|
|
+ c?: boolean,
|
|
|
|
|
+ // 可以添加 任意属性的 任意类型的 数据
|
|
|
|
|
+ [propName: string]: any
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+b1 = {
|
|
|
|
|
+ a: 1,
|
|
|
|
|
+ b: '12',
|
|
|
|
|
+ c: true
|
|
|
|
|
+}
|
|
|
|
|
+b1 = {
|
|
|
|
|
+ a: 11,
|
|
|
|
|
+ b: '122',
|
|
|
|
|
+ d: 32
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+/**
|
|
|
|
|
+ * 函数语法:
|
|
|
|
|
+ * (形参:类型,形参:类型...) => 类型
|
|
|
|
|
+ */
|
|
|
|
|
+
|
|
|
|
|
+let x: (q: number, z: string) => string;
|
|
|
|
|
+
|
|
|
|
|
+x = (q: number, z: string) => {
|
|
|
|
|
+ return q + z
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+x(12, '21')
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+/**
|
|
|
|
|
+ * 数组语法
|
|
|
|
|
+ */
|
|
|
|
|
+let r: string[];
|
|
|
|
|
+r = ['121', 'f']
|
|
|
|
|
+
|
|
|
|
|
+let u = [];
|
|
|
|
|
+u = [1, 2, '3333']
|
|
|
|
|
+
|
|
|
|
|
+let o: Array<boolean>;
|
|
|
|
|
+o = [true, false,]
|
|
|
|
|
+
|
|
|
|
|
+// 元祖:固定长度的数组
|
|
|
|
|
+// let r: [number, number, number, number, string];
|
|
|
|
|
+
|
|
|
|
|
+// 枚举
|
|
|
|
|
+enum Sex {
|
|
|
|
|
+ man,
|
|
|
|
|
+ woman
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+let j: {
|
|
|
|
|
+ name: string,
|
|
|
|
|
+ age: number,
|
|
|
|
|
+ sex: Sex
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+j = { name: "图图", age: 3, sex: Sex.man }
|
|
|
|
|
+
|
|
|
|
|
+console.log(j.sex == Sex.man ? '男' : "女")
|
|
|
|
|
+
|
|
|
|
|
+// 类型别名
|
|
|
|
|
+type myType = 1 | 2 | 3 | 4;
|
|
|
|
|
+let uu: myType;
|
|
|
|
|
+let oo: myType;
|
|
|
|
|
+
|
|
|
|
|
+// 逻辑运算符 &
|
|
|
|
|
+let pp: {
|
|
|
|
|
+ name: string
|
|
|
|
|
+} & {
|
|
|
|
|
+ age: number
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+pp = {
|
|
|
|
|
+ name: '孙悟空',
|
|
|
|
|
+ age: 10
|
|
|
|
|
+}
|