タプル型 - TypeScript -
TypeScript
要素数が固定された配列。それぞれの要素に型を付けることができる。
Basics
type Data = [string, number];
const user: Data = ['bob', 26];
console.log(user[0]);
let
変数と使う
let data: [string, number];
data = ['h', 0];
console.log(data[0]);
let data: [string, number] = ['h', 0];
console.log(data[0]);
const
変数と使う
const data: [string, number] = ['h', 0];
console.log(data[0]);
type
と使う
type Data = [string, number];
const user: Data = ['h', 0];
console.log(user[0]);
Labeled tuple
各要素に識別子として、名前を付けられるタプル。ただし要素にアクセスする時は基本タプルと同じでインデックスでアクセスするので、データを定義する時に、その値が何を表すのかわかりやすくするだけ。
type Data = [name: string, age: number];
const user: Data = ['bob', 26];
console.log(user[0]);
Readonly tuple
読み取り専用のタプル。後から値の書き換えができない。
type Data = readonly [name: string, age: number];
const user: Data = ['bob', 26];
user[0] = 'john';
>> Cannot assign to '0' because it is a read-only property.
Optional tuple
オプショナルな要素を定義できる。この要素は定義してもしなくても問題ない。
type Data = [string, number, string?];
const user: Data = ['bob', 29];
console.log(user[0]);