Named Tuples
タプルは型システムにとって順序が重要な配列です。
example:tuplesでタプルについてもっと詳しく学ぶことができます。
TypeScript 4.0では、タプル型において、配列の様々な部分に名前をつけることが
できるようになりました。
例えば、以前はタプルを使って次のように緯度経度を書いていました:
// どちらが緯度でどちらが経度なのか、わかり辛いので
このタプルをLatLongと名付けたほうがよかったかもしれません。
4.0では次のように記述できます:
type OldLocation = [number, number]
const locations: OldLocation[] = [
[40.7144, -74.006],
[53.6458, -1.785]
]
// 次の行の最後にある0と1にマウスをホバーすると
エディタに名前が表示されるようになりました
type NewLocation = [lat: number, long: number]
const newLocations: NewLocation[] = [
[52.3702, 4.8952],
[53.3498, -6.2603]
]
// これだけだとちょっと印象が薄いかもしれません。
しかし、この機能が追加された主な目的は型システムを使って
作業する際に情報が失われないようにすることです。
例えば、組み込みのParameters型を使って
関数からパラメータを抽出する場合を考えてみましょう:
const firstLat = newLocations[0][0]
const firstLong = newLocations[0][1]
// より複雑な型の操作によって、
パラメータの情報が失われることがあります。
function centerMap(lng: number, lat: number) {}
// 4.0では、抽出したパラメータにlngとlatが保持されています
type CenterMapParams = Parameters