JavaScript | 変数を宣言

JavaScript
スポンサーリンク

主な内容の要点

1. 変数の宣言方法

  • 古くからあった var に加えて、ES6 以降では letconst も使えるようになっています。 
var 変数名;
let 変数名;
const 変数名=初期値;
JavaScript

const は宣言と同時に初期値を与える必要があり、後から再代入できません。

2. 複数変数のまとめて宣言

  • var a, b, c;let x, y, z; のようにカンマで区切って複数宣言できます。 
var 変数名1, 変数2, ...;
let 変数名1, 変数2, ...;
JavaScript

3. 宣言を省略した場合

  • 宣言せずに値を読むと、ReferenceError が出ます。
  • 宣言せずに値を代入することは、通常(非 strict モード)グローバル変数として扱われてしまうことがあります。
  • ただし strict モード では、宣言なしの代入も ReferenceError になります。

4. var、let、const の違い

  • 再宣言
    • var は同じ名前で再宣言してもエラーになりません。
    • letconst は同じ名前で再宣言すると エラー になります。
  • スコープ(有効範囲)
    • var関数スコープ(関数内で宣言されたらその関数全体で有効)です。
    • letconstブロックスコープ{ … } の範囲内でのみ有効)です。
特性varlet / const
再宣言同じスコープで同じ名前を再宣言してもエラーにならない 同じスコープで再宣言すると構文エラーになる
スコープ / 有効範囲関数スコープ(関数内部で宣言すれば、その関数全体で有効)ブロックスコープ({ ... } の中で宣言された変数は、そのブロック内だけ有効)

補足と注意点/モダンな使い方のおすすめ

  • 現代の JavaScript では、ほとんどの場合 letconst を使う ようにした方が安全でバグも少なくなります。
    • 再代入しない変数は const
    • 再代入する必要がある変数は let
    • レガシーなコードや特殊事情でない限り var は使わない方向が主流です。
  • スコープを意識することが非常に重要。特にループや条件文の中で var を使うと、意図しない動きになることがあります。
  • strict モード("use strict";)を使うと、宣言なしの変数代入を防ぐことができ、より安全なコードになります。
  • これらの違いとスコープの性質を理解しておくと、後でクロージャや非同期処理、モジュール設計などを学ぶときに役立ちます。

タイトルとURLをコピーしました