// 对象 let a1: object; a1 = {}; a1 = []; a1 = function () { } /** * 对象语法 * {属性名:属性类型,属性名?:属性类型} * 属性名后面添加问号 该属性变成可选属性 */ let b1: { a: number, b: string, c?: boolean, // 可以添加 任意属性的 任意类型的 数据 [propName: string]: any } b1 = { a: 1, b: '12', c: true } b1 = { a: 11, b: '122', d: 32 } /** * 函数语法: * (形参:类型,形参:类型...) => 类型 */ let x: (q: number, z: string) => string; x = (q: number, z: string) => { return q + z } x(12, '21') /** * 数组语法 */ let r: string[]; r = ['121', 'f'] let u = []; u = [1, 2, '3333'] let o: Array; o = [true, false,] // 元祖:固定长度的数组 // let r: [number, number, number, number, string]; // 枚举 enum Sex { man, woman } let j: { name: string, age: number, sex: Sex } j = { name: "图图", age: 3, sex: Sex.man } console.log(j.sex == Sex.man ? '男' : "女") // 类型别名 type myType = 1 | 2 | 3 | 4; let uu: myType; let oo: myType; // 逻辑运算符 & let pp: { name: string } & { age: number } pp = { name: '孙悟空', age: 10 }