TypeScript - [string] vs string[]

35

在TypeScript中,哪一个是正确的?

[string]string[]哪个更合适?

public searchOption: [string] = ['date'];
public searchOption: string[] = ['date'];

{btsdaf} - Louis
4个回答

33

第一个是元组,第二个是由字符串组成的数组。

您可以使用元组来实现:

let searchOption: [string, number] = ['date', 22];

12

2
我知道这篇帖子已经四年了,但是这个答案是误导性的。第一个也适用于 ['date'],请参见 https://www.typescriptlang.org/docs/handbook/2/objects.html#tuple-types - JD Byrnes

8
如果你只是要创建一个字符串数组,两种方式看起来都一样。但是第二种方式是你应该使用的。
第一种方式可以用来创建元组,例如:
let searchOption: [string, number] = ['date', 1];

1
这两者看起来可能相同,但它们是不同的。正如其他人所提到的,第一个是元组,第二个是字符串数组。
如果你的数组有多个字符串(例如['one', 'two', 'three']),那么第二个(string[])是正确的。
如果像你原始帖子中一样,数组中只有一个字符串,则第一个([string])是正确的。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接