[解決済み] TypeScriptで固定長の配列を宣言する方法
2022-04-21 21:38:45
質問
TypeScriptの型に関する私の知識のなさを示すかもしれませんが、次のような質問があります。
このように配列の型宣言をすると
position: Array<number>;
...これで、任意の長さの配列を作ることができます。しかし、特定の長さの数値、例えばx,y,zの成分が3であるような配列を作りたい場合、このような固定長の配列用の型は作れないのでしょうか?
position: Array<3>
何かお手伝いやご説明をお願いします。
解決方法は?
javascriptの配列には、配列の長さを受け取るコンストラクタがあります。
let arr = new Array<number>(3);
console.log(arr); // [undefined × 3]
ただし、これはあくまで初期サイズであり、変更に制限はない。
arr.push(5);
console.log(arr); // [undefined × 3, 5]
タイプスクリプトは タプルの種類 で、特定の長さと型を持つ配列を定義することができます。
let arr: [number, number, number];
arr = [1, 2, 3]; // ok
arr = [1, 2]; // Type '[number, number]' is not assignable to type '[number, number, number]'
arr = [1, 2, "3"]; // Type '[number, number, string]' is not assignable to type '[number, number, number]'
関連
-
[解決済み】Typescriptで、! (エクスクラメーションマーク/バン)演算子でメンバを再参照するのは?
-
[解決済み] TypeScriptで文字列を数値に変換する方法とは?
-
[解決済み] TypeScript で `window` に新しいプロパティを明示的に設定するにはどうすればよいですか?
-
[解決済み] TypeScriptでの取得と設定
-
[解決済み] TypeScriptでパラメータとして強く型付けされた関数は可能か?
-
[解決済み] TypeScriptで配列の項目を削除するには?
-
[解決済み] JSX.ElementとReactNodeとReactElementの使い分けは?
-
[解決済み] AngularでNameServiceのプロバイダがない
-
[解決済み】TypeScriptのインターフェースと型について
-
[解決済み】tsconfig.jsonファイルを生成するにはどうしたらいいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] タイプスクリプトのエラーです。TS7053 要素が暗黙のうちに 'any' 型を持っています。
-
[解決済み] Webpack with typescriptでTypeScript emitted no outputエラーが発生する。
-
[解決済み] なぜTypescriptではinferキーワードが必要なのでしょうか?
-
[解決済み] TypeScriptでグローバル変数を作成する
-
[解決済み] Object literal may only specify known properties" というエラーが発生するのはなぜですか?
-
[解決済み] クラス定数を実装するには?
-
[解決済み] String型とstring型の違いは何ですか?
-
[解決済み】オブジェクトの配列を定義するにはどうしたらいいですか?
-
[解決済み】TypeScriptとフィールドイニシャライザー
-
[解決済み】TypescriptのArray<Type> VS Type[]について