tuple (元组)
我理解元组是一个strict array(严格的数组),因为他不只声明了一个数组,并且同时还规定数组中每个索引处的元素类型.
回顾一下,如何声明一个数组
var arr = [1,2,3,'a','b','c']; //类型为 Array<string|number>
arr[0] = 'abc'; //可以改变指定下标处的值的类型,只要为string或number之一即可
如果需要这么一个数组,第一位为number
类型,第二位为string
类型,第三位为boolean
类型时,要怎么做.
这时就可以声明一个元组类型:
var tuples:[number,string,boolean];
tuples[0] = 123;
tuples[1] = 'abc';
tuples[2] = true;
tuples[0] = 'type error'; //类型错误, 指定索引处应为number类型
//如果超出元组声明的类型时,以后的赋值类型又变为Array<number|string|boolean>,
//即只要是三者之一即可
tuples[3] = 'sure';