まくろぐ
更新: / 作成:

プリミティブ型 (primitive types)

下記のプリミティブ型は、JavaScript が内部的な型情報として扱うものであり、TypeScript のタイプアノテーションでも同様に使用することができます。 型名がすべて小文字になっているのが特徴的です。

  • boolean(真偽値)
    • let isDone: boolean = false;true または false
  • number(数値)
    • let decimal: number = 6; (10進数リテラル)
    • let hex: number = 0xf00d; (16進数リテラル)
    • let octal: number = 0o744; (8進数リテラル)
    • let binary: number = 0b1010; (2進数リテラル)
  • string(文字列)
    • let name: string = 'Maku'; (シングルクォートとダブルクォートは同様)
    • let msg: string = `Hello, ${name}`;(変数展開する場合はバッククォート)
  • function(関数)
    • function foo(): number { return 100; }
    • let bar: () => number = foo
  • bigint(巨大整数)
    • let x: bigint = 1n; (ES2020 移行)
  • symbol(ユニークなシンボル)
    • let sym: symbol = Symbol('key'); (ES2015 移行)
  • undefined(変数が初期化されていないことを示す)

オブジェクト型 (object)

上記の型以外は、JavaScript の世界ではすべて object 型とみなされます。 TypeScript のタイプアノテーションでは、変数に格納できる値の型をより明確に示すことができます。

  • Array(配列)
    • let arr: number[] = [1, 2, 3]; (数値の配列)
    • let arr: Array<number> = [1, 2, 3]; (〃)
    • let arr: string[] = ['AAA', 'BBB']; (文字列の配列)
    • let arr: Array<string> = ['AAA', 'BBB']; (〃)
    • 参考: 配列を定義する (Array)
  • Tuple(タプル)扱いは配列とほぼ同じだが、各位置の要素の型が決まっているもの
  • Null(値がない)
    • let x: string | null = null;

その他

Enum

enum Color {Red, Green, Blue}
let c: Color = Color.Red;

列挙型の値(上記の例では Color.Red など)は、内部的にはただの数値 (number) 扱いです。

Void / Never

voidnever は、関数の戻り値の性質を表すもので、通常は変数の型情報としては使われません。

// 戻り値 void 型は、return 時に値を返さないことを示す
function foo(name: string): void {
  console.log(`Hello, ${name}`);
}

// 戻り値 never 型は、return することがない関数を示す
function throwError(msg: string): never {
  throw new Error(msg);
}

関連記事

まくろぐ
サイトマップまくへのメッセージ