e 1 year ago
parent
commit
bc94315fcf
1 changed files with 60 additions and 0 deletions
  1. 60 0
      ts/2.类型/2.ts

+ 60 - 0
ts/2.类型/2.ts

@@ -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{}