コース一覧
/
TypeScript 入門
/

変数とデータ型

定数を使おう(const)

値が変わらないデータには const を使って定数として宣言できます。const と let の違いや、使い分けの指針を学びます。

定数とは

定数とは、一度代入したら値を変更しないデータのことです。TypeScript では、定数を宣言するために const キーワードを使います。

const greeting: string = "こんにちは"; console.log(greeting); // => こんにちは

前のレッスンで学んだ let と同じように、名前をつけてデータを保存できます。ただし、const で宣言したデータは後から上書きできないという違いがあります。

const で定数を宣言する

const の書き方は let とほぼ同じです。let の代わりに const と書くだけです。

const language: string = "TypeScript"; console.log(language); // => TypeScript

const で宣言するときは、宣言と同時に値を代入する必要があります。 let のように宣言だけして後から代入することはできません。

const message: string = "Hello"; // OK:宣言と代入を同時に行う
// 宣言だけして値を代入しないとエラーになる const message: string; // => error TS1155: 'const' declarations must be initialized.

const と let の違い

constlet の最大の違いは、後から値を変更できるかどうかです。

let は値を上書きできる

前のレッスンで学んだように、let で宣言した変数は後から別の値を代入し直せます。

let color: string = "赤"; // 新しい値で上書き color = "青"; console.log(color); // => 青

const は値を上書きできない

const で宣言した定数には、後から別の値を代入できません。再代入しようとすると、エラーが発生します。

const color: string = "赤"; // 定数に再代入しようとするとエラーになる color = "青"; // => error TS2588: Cannot assign to 'color' because it is a constant.

このエラーは「定数に値を代入しようとした」という意味です。プログラムのミスを早い段階で見つけられるため、安全にコードを書くことができます。

const と let の使い分け

TypeScript では、基本的に const を使い、値を変更する必要があるときだけ let を使うのがよいとされています。

// 名前は変わらないので const const name: string = "太郎"; // あいさつは後で変わるので let let greeting: string = "おはよう"; // let なので上書きできる greeting = "こんにちは"; console.log(name); // => 太郎 console.log(greeting); // => こんにちは

迷ったときは、まず const で宣言してみましょう。後から値を変更する必要が出てきたら、そのときに let に変えれば大丈夫です。

まとめ

  • const は値を変更しないデータを宣言するためのキーワード
  • const で宣言するときは、宣言と同時に値を代入する必要がある
  • const で宣言した定数に再代入するとエラーになる
  • let は後から値を変更できるが、const はできない
  • 基本は const を使い、再代入が必要なときだけ let を使う