|
@@ -0,0 +1,52 @@
|
|
|
|
|
+// let a = {}
|
|
|
|
|
+// 常规的对象类型
|
|
|
|
|
+// {属性名:类型,属性名:类型,....}
|
|
|
|
|
+// ? 当前属性 可以存在或者不存在
|
|
|
|
|
+// 扩展属性 允许额外定义任意属性 [propName:string]:any
|
|
|
|
|
+let a:{name:string,age?:number,[propName:string]:any};
|
|
|
|
|
+a = {
|
|
|
|
|
+ name:"图图",
|
|
|
|
|
+ age: 3
|
|
|
|
|
+}
|
|
|
|
|
+a = {name:"12",sex:'男',a:'1',b:2,c:3}
|
|
|
|
|
+
|
|
|
|
|
+// 函数
|
|
|
|
|
+// (形参:类型,形参:类型,...) => 类型;
|
|
|
|
|
+let b:(x:number,y:string) => string;
|
|
|
|
|
+b = function(a:number,b:string):string {
|
|
|
|
|
+ return a+b
|
|
|
|
|
+}
|
|
|
|
|
+b(1,"1")
|
|
|
|
|
+
|
|
|
|
|
+// 数组
|
|
|
|
|
+// 定义格式:
|
|
|
|
|
+// 类型[] / Array<类型>
|
|
|
|
|
+// 元组 Tuple:固定长度 固定顺序 固定类型的数组称为元组
|
|
|
|
|
+let c:[number,number,string,number];
|
|
|
|
|
+// let c:number[];
|
|
|
|
|
+// let c:Array<number>;
|
|
|
|
|
+// let c:any[];
|
|
|
|
|
+c = [1,2,'3',4];
|
|
|
|
|
+
|
|
|
|
|
+// 枚举 Enum
|
|
|
|
|
+// 批量定义固定常亮 常用于状态 分类 选项
|
|
|
|
|
+// 默认从0开始自动递增赋值 可直接枚举名取值
|
|
|
|
|
+// 把固定的选项变成有名字的常亮
|
|
|
|
|
+enum Sex {
|
|
|
|
|
+ man, //0
|
|
|
|
|
+ woman // 1
|
|
|
|
|
+
|
|
|
|
|
+ // a = 2
|
|
|
|
|
+}
|
|
|
|
|
+let d :{
|
|
|
|
|
+ name:string,
|
|
|
|
|
+ age:number,
|
|
|
|
|
+ sex:Sex
|
|
|
|
|
+}
|
|
|
|
|
+d = {
|
|
|
|
|
+ name:"图图",
|
|
|
|
|
+ age: 3,
|
|
|
|
|
+ sex:Sex.man
|
|
|
|
|
+}
|
|
|
|
|
+console.log(d.sex == Sex.man ? '男' : '女')
|
|
|
|
|
+export {}
|