如何声明两个数字元组的返回类型?

ave*_*ave 11 typescript

当我声明一个函数时

const coordinates = (id: number): ([number, number]) => {
Run Code Online (Sandbox Code Playgroud)

我得到的错误是 [ts] Duplicate identifier 'number'.

如果我省略了返回值的类型签名,那么它将其推断为 number[]

小智 17

const coordinates = (id: number): [number, number] => [id, id];
Run Code Online (Sandbox Code Playgroud)

不需要返回元组类型的括号


Ale*_*cox 13

const coordinates = (id: number) => [id, id] as const;
// const coordinates: (id: number) => [number, number]
Run Code Online (Sandbox Code Playgroud)

从 TypeScript 3.4 开始,您可以使用 const 断言。