|
@@ -19,4 +19,64 @@ b = {a:5};
|
|
|
let c:{a:number,b?:string,[propName:string]:any};
|
|
|
c = {a:10,b:'12',c:14,d:true};
|
|
|
// let b = {a:1,b:1}
|
|
|
+/**
|
|
|
+ * 函数语法:
|
|
|
+ * (形参:类型,形参:类型....) => 类型
|
|
|
+ */
|
|
|
+let d:(a:number,b:number) => number;
|
|
|
+d = function fn1(a:number,b:number):number {
|
|
|
+ return a+b;
|
|
|
+};
|
|
|
+
|
|
|
+let e:(c:string,d:string) => string;
|
|
|
+e = function fn2(a:string,b:string):string {
|
|
|
+ return a+b;
|
|
|
+}
|
|
|
+/**
|
|
|
+ * 数组语法
|
|
|
+ * 类型[];
|
|
|
+ */
|
|
|
+let f = [];
|
|
|
+// 字符串类型数组
|
|
|
+let g:string[];
|
|
|
+g = ['1','1','1']
|
|
|
+let h:number[];
|
|
|
+h =[2,5,7,9]
|
|
|
+let i:Array<boolean>
|
|
|
+// i = [1];
|
|
|
+i = [false];
|
|
|
+/**
|
|
|
+ * 元祖:固定长度的数组
|
|
|
+ */
|
|
|
+let j:[number,boolean,string];
|
|
|
+j = [1,false,'22'];
|
|
|
+/**
|
|
|
+ * 枚举
|
|
|
+ * enum 对象名称 {
|
|
|
+ * 定义的枚举值
|
|
|
+ * }
|
|
|
+ */
|
|
|
+enum Sex {
|
|
|
+ man,
|
|
|
+ woman
|
|
|
+}
|
|
|
+let k: {
|
|
|
+ name:string,
|
|
|
+ age:number,
|
|
|
+ sex:Sex
|
|
|
+}
|
|
|
+k = {name:"孙悟空",age:20,sex: Sex.man};
|
|
|
+
|
|
|
+console.log(k.sex === Sex.man ? "男性" : "女性");
|
|
|
+
|
|
|
+// 类型别名
|
|
|
+type myType = 1|2|3|4;
|
|
|
+let l:myType;
|
|
|
+let m:myType;
|
|
|
+let n:myType;
|
|
|
+
|
|
|
+// 逻辑运算符 &
|
|
|
+let o: {name:string} & {age:number};
|
|
|
+o = {name:'孙悟空',age:20};
|
|
|
+
|
|
|
export{}
|