TypeSrcipt 元组
数组合并了相同类型的对象,而元组(Tuple)合并了不同类型的对象。元组起源于函数编程语言(如 F#),这些语言中会频繁使用元组。
案例区分
// 数组 合并了相同类型的对象
let arr: number[] = [1, 2, 3, 4, 5];
// 元组 合并了不同类型的对象
let tuple: [string, number] = ['我是ed.', 25];
注意:当直接对元组类型的变量进行初始化或者赋值的时候,需要提供所有元组类型中指定的项。
元组初始化
直接对元组类型的变量进行初始化或者赋值的时候,需要提供所有元组类型中指定的项。
// 元组
let tuple: [string, number] = ['hello', 123];
如果只初始化一个数据值,则会报错:
let tuple: [string, number]
tuple = ['我是ed.']
声明了两个值,但是只初始化了一个值,此时会触发 ts 的语法校验不通过:
但是可以通过索引的方式,单独赋值一个元素:
let tuple: [string, number]
tuple[0] = '我是ed.'
这样子是不会触发语法校验错误:
元组添加元素
根据这个案例:
let tuple: [string, number] = ['我是ed.', 25];
当元组添加内容的时候,需要是 number
或者是 string
类型。因为在元组定义的时候,元组的声明类型采用的是联合声明类型
,所以结合上面的案例,只能 push
数值类型和字符串类型。
// 元组
let tuple: [string, number] = ['hello', 123];
tuple.push("你好")
如果 push
越界的类型,则会报错:
tuple.push(true)
没有定义 Boolean
类型,此时会报错:
好的,上面就是对元组的基本了解。
【版权声明】本博文著作权归作者所有,任何形式的转载都请联系作者获取授权并注明出处!
【重要说明】博文仅作为本人的学习记录,论点和观点仅代表个人而不代表技术的真理,目的是自我学习和有幸成为可以向他人分享的经验,因此有错误会虚心接受改正,但不代表此刻博文无误!
【Gitee地址】我是𝒆𝒅. :https://gitee.com/wjw1014