Typescriptの型とは?(Typescriptを学んでいこう #1)

Typescriptの型とは?(Typescriptを学んでいこう #1)

最近Typescriptを勉強しているので、備忘録として記録を残していきます。

第1回はTypescriptの型(タイプ)についてです。

型はどのように使うのか?

function add (num1: number, num2: number): number {

return num1 + num2;

}

上のように、引数や戻り値に型を指定することができます。
指定しない場合でも、Typescriptには型推論という機能があり、自動的に型を判定してくれます。
ただ、やはり明示的に型を指定した方が良いとされています。

Typescriptの型にはどんなものがあるのか?

Typescriptの型には下記の種類があります。

  • number
  • string
  • boolean
  • union
  • object
  • array
  • tuple
  • enum
  • function
  • void
  • undefined
  • unknown
  • never

それぞれの型について見ていきます。

・number

数字です。他のプログラミング言語でもよくあるので、省略します。

・string

文字列です。他のプログラミング言語でも(ry

・boolean

真偽値です。他の(ry

・union

複数の型のうち、いずれかの型を指定できる型です。

例1: number | string

例1では、数字か文字列のどちらかが入るという意味になります。

例2: 'as-number' | 'as-text'

例2のように特定の文字列を指定することもできます。

例3: type NumberOrString = number | string;

例3のように、type宣言をすることでエイリアス設定することもできます。例3の場合、NumberOrString 型を新しく使うことができるようになります。

・object

オブジェクトです。こんなやつです。

const person: {

    name: string;

    age: number;

}

オブジェクトの各要素の末尾はセミコロンなのに注意。

・array

配列です。

let hobbies: string[]; // 中に文字列が入る

let trains: number[]; // 中に数字が入る

・tuple

タプル型は、配列の中身を指定できる型です。

let role: [number, string]; // 1つ目に数字、2つ目に文字列が入る

・enum

デフォルトでは 0, 1, 2 … の順で値が割り振られる。

enum Role { ADMIN = 5, READ_ONLY, AUTHOR }

・function

javascriptで関数も1つの型として扱う。どんな型の引数が入るか指定できる。

let combineValues: (a: number, b: number) => number;

・void

何も返ってこないことを明示するための型。

function printResult(num: number): void {
    console.log(num);
}

・undefined

未定義(値がまだ割り当てられていない)ということを明示するための型。

let someValue: undefined;

・unknown

値が存在するかどうかわからないことを表す型。

let userInput: unknown;

・never

関数が正常に終了しないことを示す型。

function generateError(message: string, code: number): never {
    throw {message: message, errorCode: code};
}

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です