27、元组
  jGAU8NKRKR9k 2023年11月02日 18 0


区分:

数组:纯粹 一个[]中的数据类型都是一致的
元组:不纯粹 一个[]中可能有不同类型的数据项

意义

当赋值或访问一个已知索引的元素时,可以得到正确的类型

let miao: [string, number] = ['cat', 18];
miao[0] = 'cat'
miao[1] = 18
miao[0].slice(1)
miao[1].toFixed(2)

错误的表达

let wang: [string, number];
wang = [ 'dog']
// error TS2322: Type '[string]' is not assignable to type '[string, number]'.
let wang: [string, number];
wang[0] = 'dog'
// TS2454: Variable 'wang' is used before being assigned.

往一个定义好类型的元组里添加元素,只能添加已有类型的联合,deme如下:
专业术语:当添加越界的元素时,它的类型会被限制为元组中每个类型的联合类型

let wang: [string, number];
wang =  ['dog', 18]

wang.push('miao')
wang.push(3)
wang.push(true) // error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'string | number'.


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  aCc5BcRfSnBs   2024年04月19日   13   0   0
  aCc5BcRfSnBs   2024年04月18日   21   0   0
  fxrR9b8fJ5Wh   3天前   9   0   0
  Sb0Lu6UKRwVp   2024年04月18日   24   0   0
jGAU8NKRKR9k