// 引用数据类型 Object(object/array/function) let a: object; // a =1; a = []; a = {}; a = function () {}; /** * 对象: * { * 属性名:属性值 * ... * 在属性后 添加问号 相当于给当前属性设置可选开关 * } */ let b: { a: number; c: string; d?: boolean; // 可以添加任意属性 任意类型 [propName: string]: any; }; // b = { // a:12, // c:'11' // } b = { a: 12, c: "11", d: false, }; b = { a: 12, c: "11", // d: false }; b = { a: 12, c: "11", e: false, f: "12", }; /** * 函数 * */ let g: (a: number, b: number) => number; g = function fn1(a, b) { return a + b; }; g(8, 9); /**数组 * let xxx:type[]; * let yyy:Array */ let x: string[]; x = ["1", "2"]; // let y:Array=[1,2]; // let y:Array=[true,false]; // 元祖:固定长度的数组 let z: [number, boolean, number]; z = [1, true, 1]; // 枚举 enum Sex { man, woman, } let o: { name: string; age: number; sex: Sex; }; o = { name: "LiLi", age: 18, sex: Sex.woman, }; console.log(o.sex === Sex.man ? "男" : "女"); // 类型别名 type myType = 1|2|3|4; let p:myType = 2; // 逻辑运算符 & let r:{name:string}&{age:number}; r = { name:'孙悟空', age: 18 } export {};