| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- // 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 ? '男' : '女')
- // 类型别名:通过type给类型起名字
- //格式: type 名字 = 类型
- // 1.联合类型
- type Sex1 = "man" | "woman";
- // type Sex1
- let e:Sex1;
- e = "man";
- // 2.字面量
- type status = 1|2|3;
- let f:status;
- f = 1;
- // 3.对象
- type info = {
- name: string,
- age: number,
- address?:string
- }
- // let g:info = {
- // }
- // 交叉类型
- // 合并多个类型 变量必须同时满足所有类型的属性要求
- let h:{name:string} & {age:number};
- h = {
- name:"图图",
- age: 3
- }
- export {}
|