web-dev-qa-db-ja.com

配列を破壊するときの型

function f([a,b,c]) {
  // this works but a,b and c are any
}

そのようなものを書くことは可能ですか?

function f([a: number,b: number,c: number]) {
  // being a, b and c typed as number 
}
53
thr0w

これは、引数リスト内の配列を破棄するための適切な構文です。

function f([a,b,c]: [number, number, number]) {

}
54
Ryan Cavanaugh

はい、そうです。 TypeScriptでは、単純な方法で配列のタイプを使用してタプルを作成します。

type StringKeyValuePair = [string, string];

配列に名前を付けることで、好きなことができます。

function f(xs: [number, number, number]) {}

ただし、内部パラメーターには名前を付けません。もう1つの可能性は、ペアによる分解を使用することです。

function f([a,b,c]: [number, number, number]) {}
10
Marcelo Camargo