|
@@ -0,0 +1,98 @@
|
|
|
|
|
+// Object
|
|
|
|
|
+
|
|
|
|
|
+// Array 数组
|
|
|
|
|
+// let a = [];
|
|
|
|
|
+let aa:number[] = [1,2,3];
|
|
|
|
|
+let bb:string[];
|
|
|
|
|
+bb = ['1','2','3'];
|
|
|
|
|
+let cc:Array<boolean>;
|
|
|
|
|
+cc = [true,false,true];
|
|
|
|
|
+
|
|
|
|
|
+// Tuple 元组:固定长度的数组
|
|
|
|
|
+let dd:[string,number,boolean];
|
|
|
|
|
+dd = ['str',123,true];
|
|
|
|
|
+
|
|
|
|
|
+// Object 对象
|
|
|
|
|
+let ee:object;
|
|
|
|
|
+ee = {};
|
|
|
|
|
+ee = function(){};
|
|
|
|
|
+ee = [];
|
|
|
|
|
+let ff:{
|
|
|
|
|
+ name:string,
|
|
|
|
|
+ age:number,
|
|
|
|
|
+ sex:string,
|
|
|
|
|
+ address?:string ,// 可选属性
|
|
|
|
|
+ [propName:string]:any // 任意属性
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+ff = {
|
|
|
|
|
+ name:'张三',
|
|
|
|
|
+ age:18,
|
|
|
|
|
+ sex: '男',
|
|
|
|
|
+ address:'北京',
|
|
|
|
|
+ eat:'苹果',
|
|
|
|
|
+ book:'书籍'
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// ff = {
|
|
|
|
|
+// name:'张三',
|
|
|
|
|
+// age:18,
|
|
|
|
|
+// sex: '男',
|
|
|
|
|
+// }
|
|
|
|
|
+
|
|
|
|
|
+// 函数类型
|
|
|
|
|
+function fn4():void {
|
|
|
|
|
+ console.log('fn4');
|
|
|
|
|
+}
|
|
|
|
|
+fn4();
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+function fn5(a:number,b:string):string {
|
|
|
|
|
+ // console.log('fn5');
|
|
|
|
|
+ return a + b;
|
|
|
|
|
+}
|
|
|
|
|
+fn5(3,'45');
|
|
|
|
|
+
|
|
|
|
|
+let fn6:(a:number,b:number)=>number;
|
|
|
|
|
+fn6 = function(x,y) {
|
|
|
|
|
+ return x + y;
|
|
|
|
|
+}
|
|
|
|
|
+fn6(12,34);
|
|
|
|
|
+
|
|
|
|
|
+// 枚举 enum
|
|
|
|
|
+enum Sex1 {
|
|
|
|
|
+ man,woman
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+let kk: {
|
|
|
|
|
+ name:string,
|
|
|
|
|
+ age:number,
|
|
|
|
|
+ sex: Sex1
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+kk = {
|
|
|
|
|
+ name:'李四',
|
|
|
|
|
+ age:20,
|
|
|
|
|
+ sex: Sex1.man
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+console.log(kk.sex === Sex1.man ? '男' : '女');
|
|
|
|
|
+
|
|
|
|
|
+// 类型别名
|
|
|
|
|
+type myType = string | number | boolean;
|
|
|
|
|
+let ww:myType;
|
|
|
|
|
+ww = 'hello';
|
|
|
|
|
+ww = 123;
|
|
|
|
|
+ww = true;
|
|
|
|
|
+
|
|
|
|
|
+// 联合类型 & 交叉类型
|
|
|
|
|
+let oo: {
|
|
|
|
|
+ name:string
|
|
|
|
|
+} & {
|
|
|
|
|
+ age?:number
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+oo = {
|
|
|
|
|
+ name:'王五',
|
|
|
|
|
+ age:18
|
|
|
|
|
+}
|