devlog

フロントエンドエンジニアの技術ブログ

TypeScriptのarray型

定義する方法が2種類ある。

let array1: number[] = [1, 2, 3]; // リテラル表現
let array2: Array<number> = [1, 2, 3]; // ジェネリクス表現

気をつけたいのが、JavaScriptだと配列の中にどんな型の値でも入れる事ができたけど、TypeScriptだと違う。 アノテーション(型注釈)で指定した値しか配列に入れる事ができない。 しかも、array型を定義する為にはアノテーションが必須っぽい。 一応、any型にすればどんなもので入れる事は可能。できれば避けるべきパターン。

let array: any[] = [1, 2, 3]; // どんな型でもOK

よくあるパターンだと必要な型をUnion Typesにして複数の型を受け入れる事ができるように定義する

let array: (string | number | boolean)[] = ['hoge', 100, false];

@ 2019 devlog