Typescript 通过 type关键字来做别名,结合联合类型能够更加灵活地使用;另外提供类型断言,其语法是:<类型>值 或者 值 as 类型;类型断言并不是类型转换,是在已知多个类型的情况下我们把它断言的更加具体一些,所以类型断言是不能够断言联合类型中没有的类型。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| type PlusType = (x: number, y: number) => number
function sum(x: number, y: number): number { return x + y }
const sum2: PlusType = sum
type NameResolve = () => string type NameOrResolver = string | NameResolve
function getName(n: NameOrResolver): string{ if(typeof n === 'string'){ return n }else { return n() } }
function getLength(input: string|number): number{ if((<string>input).length){ return (<string>input).length }else{ return input.toString().length } }
|