• ..

Shell

    配列

    配列の型の定義はArray<T>型を使う方法と型の後ろにT[]を付ける方法の2通りあります。Array<T>T[]の違いはありません。

    const foo: Array<string> = [
      'foo',
      'bar',
      'baz',
    ];
    
    const foo2: string[] = foo;

    タプル

    もし個数や順番、または型がバラバラな型の集まりが決まっているのであれば[A, B, C, D, E][]の間に型を羅列した型を定義します。

    const foo: [string, number, boolean] = [
      'foo',
      123,
      true,
    ];

    もしタプルを定数化したいなら、指定する型も厳密にしてあげるだけです。

    const FOO: readonly ['foo', 123, true] = [
      'foo',
      123,
      true,
    ];

    ですがこれであれば後ろに値宣言後にas constを付けることで同じ意味にできます。

    const FOO = [
      'foo',
      123,
      true,
    ] as const;
    // foo: readonly ["foo", 123, true]

    配列の絞り込み

    Union 型などを配列に絞り込みたい場合は、Array.isArrayメソッドを使います。

    const foo: string | string[] = [];
    
    if (Array.isArray(foo)) {
      foo; // foo: string[]
    }