type gender = 'male' | 'female'//限制gender类型的变量只能是这两个值之一 type a = string | number//a类型变量可为 number 和 string 类型中的任一种 let b : a = 'hello' let c : a = 123 b = 456 c = 'abc'
定义函数类型,可规定函数的参数和返回值:
1 2 3 4 5 6 7 8
type calc = (a: number, b: number) =>number letadd: calc = function (x, y) { return x + y }
letsubtract: calc = (x, y) => { return x - y }
定义元组类型:
1 2
type information = [name: string, age: number, height: number] letme: information = ["李华", 18, 188]
type cat = { 动物: boolean; 喵喵喵: boolean } type dog = { 动物: boolean; 汪汪汪: boolean } type pet = cat & dog let 旺财: pet = { 动物: true, 喵喵喵: false, 汪汪汪: true, } let 胖猫: pet = { 动物: true, 喵喵喵: true, 汪汪汪: false, } function 叫(a: pet) { if (a.喵喵喵 === true) console.log('喵喵喵') if (a.汪汪汪 === true) console.log('汪汪汪') if (a.动物 === false) console.log("动物才会叫") } 叫(旺财) 叫(胖猫)