Array 還是 Tuple
Tuple 是什麼?
Tuple 也是陣列,但是是非常嚴格的型別、陣列長度及順序性的陣列
怎麼寫?
原本 Array 的寫法
const arr_3: Array<string | null | number> = ["a", null, 3];
tuple 的寫法
const tuple3: [number, string, number] = [1, "a", 2];
const tuple3: [number, string] = [1, "a", 2]; // 這個就會提示錯誤
tuple 其他寫法
//可選
const tuple4: [number, number, number?] = [10, 20];
const tuple5: [number, number, number?] = [10, 20, 30];
// 剩餘元素 ( ...rest )
const tuple6: [string, ...number[]] = ["Clove", 85, 92, 78, 90];
// 不可修改 ( readonly )
const tuple7: readonly [number, string] = [1, "Clove"];
用哪個?
- Array:同一型別,且長度不固定時的動態數據
- Tuple:固定長度,且位置和意義不相同時 例:座標經緯度、RGB…