// object 是js中的引用数据类型 // 基本数据类型:number string boolean undefined null // 引用数据类型:object(数组、对象、函数) let a: object; a = []; a = {}; a = function () {}; // a = 12; /** * 对象语法: * { * 属性名:属性值, * 属性名: 属性值 * 。。。 * 在属性名后添加问号 相当于给当前属性设置可选开关 * } */ let b: { a: number; c: string; d?: boolean; }; b = { a: 10, c: "hello", }; b = { a: 90, c: "你好", d: true }; /** * [propName:string]:any 可以添加任意属性的任意类型的数据 */ let c:{ a:number, b?:string, [propName:string]:any } c = { a: 12, hi: '哇', wo: 0 } let d: (a:number,b:number) => number; // d = () => { // return 'qq' // // console.log("你好") // } d = function fn1(a:number,b:number) { return a + b; } // fn1(89,0) // let obj = { // name:'1', // age:10 // } /** * 数组: * let xxx:type[] * let xxx = Array */ let e:string[]; let f:number[]; // e = ['1','2','3']; // f = [1,'2',true]; // let g:boolean[]; let g =Array; // 元祖:固定长度的数组 let h:[number,boolean,boolean]; h = [1,true,true]; // h = ['dh',1,2] // 枚举 enum Sex { man, woman } let k: { name: string, age: number, sex: Sex } k = { name:"孙悟空", age: 10, sex: Sex.man } // 条件 ? "真" : "假" console.log(k.sex === Sex.woman ? '男' : '女') // 类型别名 type myType = 1|2|3|4; let l:myType = 1; let y:myType = 4; // 逻辑运算符 & let o:{name:string} & {age:number} o ={name:"孙悟空",age:20} export {};