联合类型(Union Types):表示取值可以为多种类型中的一种,多个类型之间用|分隔开类型断言:通过断言的这种方式,告诉编译器,我知道自己在做什么,类型断言好比其他语言里的类型转换,但是不进行特殊的数据检查和解构。它没有运行时的影响。TypeScript会假设你已经进行了必须的检查。
- 方式一:
<类型>值 - 方式一:
值 as 类型 - 两种方式是等价的,用哪个凭个人爱好即可,但是当在
TypeScript里使用JSX时,只有as语法断言是被允许的。
- 举例
// 获取字符串长度 function getLength (v: number | string): number { if ((<string>v).length) { // string 类型 return (v as string).length } else { // number 类型 return v.toString().length } } // 使用 getLength(1234567) getLength('1234567')