Arrays 类型';数组[]和#x27;不可分配给类型';[阵列]和#x27;

Arrays 类型';数组[]和#x27;不可分配给类型';[阵列]和#x27;,arrays,typescript,Arrays,Typescript,当我试图抓住打字脚本时,这个错误一直困扰着我。有人能解释一下这两个“数组”之间的区别吗?这不是数组吗?如果没有,那是什么 [ts] Type 'AppointmentItemData[]' is not assignable to type '[AppointmentItemData]'. Property '0' is missing in type 'AppointmentItemData[]'. 第一种类型(AppointmentItemData[])是Appointmen

当我试图抓住打字脚本时,这个错误一直困扰着我。有人能解释一下这两个“数组”之间的区别吗?这不是数组吗?如果没有,那是什么

[ts] Type 'AppointmentItemData[]' is not assignable to type '[AppointmentItemData]'.
       Property '0' is missing in type 'AppointmentItemData[]'.
第一种类型(
AppointmentItemData[]
)是
AppointmentItemData
元素的数组,而第二种类型是,它可能只包含一个
AppointmentItemData
。引述自:

元组类型允许您表示一个数组,其中固定数量的元素的类型是已知的,但不必相同。例如,您可能希望将一个值表示为一对
字符串
和一对
数字

// Declare a tuple type
let x: [string, number];
// Initialize it
x = ["hello", 10]; // OK
// Initialize it incorrectly
x = [10, "hello"]; // Error

Typescript允许您编码“此变量中每个变量都应该有一个3元素数组,其中第一个元素是数字,第二个是字符串,第三个是承诺,最终将解析为某种形状类似于
蜥蜴的东西,而如果它不是编码
[数字,字符串,承诺]的唯一方法”
将是
{}[]
(大致上是一个
对象[]
)。

谢谢肖恩!你能帮我举一个Tuple用法的例子吗。在我看来,元组的结构与javascript对象类似。元组是具有异构值的数组-您可以将
[1',hi',somesallamander]
视为对象(例如
{0:1,1:'hi',2:somesallamander}
),但它是一个数组。也就是说,
thingTypedAsTuple instanceof Array===true
。至于你将如何使用它-任何你想携带一系列东西的地方,而不是一套命名的东西。一些示例包括
[success,error]
[value,validations]
[x,y,z]