本篇文章为基础数据类型的进阶,需要对TypeScript的基础数据类型有所了解,不了解的童鞋可先花费两分钟看下《第一话:基础数据类型》,好了废话不多,开始正题。
元组Tuple
三要素:1、数组 2、已知元素数量和类型 3、各元素的类型可不相同
声明 let x: [string, number];
使用(赋值) x = [ 'hello', 123] // OK x = [ 123, 'hello' ] // ERROR
访问越界元素时,会使用联合类型替代
x[3] = 'world' // OK string is (string | number)
x[4] = true // ERROR
any or Object
两个数据类型的变量都允许给它赋任意值
let x: any = 4; x = 'hello'; x = true;
let o: object = 4; o = [ '123 ']; o = false;
但是any类型上可以调用任意方法,而object不能调用任意方法
o.toFixed(); // ERROR: toFixed doesn't exist on type 'object'
Null and Undefined
默认情况下null和undefined可以赋值给所有类型
let n: number = null; n = undefined;
let s: string = null; s = undefined;
当指定了--strictNullChecks时,则null和undefined只能赋值给他们各自和void。
--strictNullChecks配置:不配置默认为false
方法一: tsconfig.json文件 --> compilerOptions --> 'strictNullChecks': true/false
方法二:手动进行文件编译时
网友评论