Readonly タプル
CoddyのJavaScriptジャーニー「Introduction To TypeScript」セクションの一部 — レッスン 18/73。
readonly修飾子を使用して配列を不変(イミュータブル)にできるのと同様に、TypeScriptでは初期化後に変更できない読み取り専用タプル(readonly tuples)を作成することができます。これにより、構造化された固定長のデータに対して、同様の不変性の利点が得られます。
タプル型の前に readonly を追加すると、TypeScript はそのタプルの要素への変更を禁止します。
これは、特定の位置にある値を再代入したり、タプルの内容を変更するようなメソッドを使用したりできないことを意味します:
let point: readonly [number, number] = [10, 20];
let coordinates: readonly [string, number, number] = ["A", 5, 15];readonly 修飾子は、座標、RGBカラー値、データベースレコードのように、一度作成されたら変更されるべきではない重要な構造化データを表すことが多いため、タプルにとって特に価値があります。
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
チャレンジ
簡単2つの数値(x座標とy座標)を表すstartPointという名前のreadonlyタプルを作成してください。値0と0で初期化します。
3つの数値(赤、緑、青)でRGBカラー値を表すcolorRGBという名前の別のreadonlyタプルを作成してください。値255、128、および64で初期化します。
数値(ユーザーID)、文字列(ユーザー名)、および真偽値(アクティブステータス)を保持するuserRecordという名前の3つ目のreadonlyタプルを作成してください。値42、"admin"、およびtrueで初期化します。
作成した順に、3つのreadonlyタプルすべてをコンソールの別々の行に出力してください。
チートシート
初期化後の変更を防ぐために、タプル型の前に readonly 修飾子を使用して、読み取り専用のタプルを作成します:
let point: readonly [number, number] = [10, 20];
let coordinates: readonly [string, number, number] = ["A", 5, 15];
読み取り専用のタプルは、座標、RGB値、または一度作成したら変更すべきではないデータベースレコードのような構造化データに便利です。
自分で試してみよう
// TODO: ここにコードを書いてください
// チャレンジの説明に従って、読み取り専用のタプルを作成します
// 3つのタプルをすべて出力しますこのレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
Introduction To TypeScriptのすべてのレッスン
2基本の型
基本の型: str, num, boolean'any' 型: 脱出ハッチ'unknown' 型'null' と 'undef' の扱い型推論の実践明示的な型アノテーションまとめ:基本の型の演習5型:エイリアス、ユニオン型、インターセクション型
プリミティブ型の型エイリアスユニオン型 ('|')ユニオン型の扱い方リテラル型インターセクション型 ('&')型エイリアスの組み合わせまとめ:高度な型の組み合わせ