五、数组
JavaScript 数组在 TypeScript 里面分成两种类型,分别是数组(array)和元组(tuple)。
1、简介
TypeScript 数组有一个根本特征:所有成员的类型必须相同,但是成员数量是不确定的,可以是无限数量的成员,也可以是零成员。
数组的类型有两种写法。第一种写法是在数组成员的类型后面,加上一对方括号。
let arr:number[] = [1, 2, 3];
JavaScript 数组在 TypeScript 里面分成两种类型,分别是数组(array)和元组(tuple)。
TypeScript 数组有一个根本特征:所有成员的类型必须相同,但是成员数量是不确定的,可以是无限数量的成员,也可以是零成员。
数组的类型有两种写法。第一种写法是在数组成员的类型后面,加上一对方括号。
let arr:number[] = [1, 2, 3];
元组(tuple)是 TypeScript 特有的数据类型,JavaScript 没有单独区分这种类型。
元组必须明确声明每个成员的类型。
const s:[string, string, boolean]
= ['a', 'b', true];
Symbol 是 ES2015 新引入的一种原始类型的值。它类似于字符串,但是每一个 Symbol 值都是独一无二的,与其他任何值都不相等。
Symbol 值通过Symbol()
函数生成。在 TypeScript 里面,Symbol 的类型使用symbol
表示。
let x:symbol = Symbol();
let y:symbol = Symbol();
x === y // false
函数的类型声明,需要在声明函数时,给出参数的类型和返回值的类型。
function hello(
txt:string // 参数类型
):void { // 返回值类型
console.log('hello ' + txt);
}
any 类型表示没有任何限制,该类型的变量可以赋予任意类型的值。
let x:any;
x = 1; // 正确
x = 'foo'; // 正确
x = true; // 正确
let x:any = 'hello';
x(1) // 不报错
x.foo = 100; // 不报错
JavaScript 语言 将值分成8种类型。
TypeScript 继承了 JavaScript 的类型设计,以上8种类型可以看作 TypeScript 的基本类型。
相关信息
注意,上面所有类型的名称都是小写字母,首字母大写的Number
、String
、Boolean
等在 JavaScript 语言中都是内置对象,而不是类型名称。
另外,undefined 和 null 既可以作为值,也可以作为类型,取决于在哪里使用它们。
TypeScript 代码最明显的特征,就是为 JavaScript 变量加上了类型声明。
类型声明的写法,一律为在标识符后面添加“冒号 + 类型”。函数参数和返回值,也是这样来声明类型。
let foo:string; //声明了它的类型为string
function toString(num:number):string { //num的类型是number。参数列表的圆括号后面,声明了返回值的类型是string
return String(num);
}