[JavaScript] 超入門:letとconstの違いと使い分けをやさしく解説
![[JavaScript] 超入門:letとconstの違いと使い分けをやさしく解説](https://markleaps.com/blog/wp-content/uploads/2025/06/js-let-const.jpg)
「JavaScriptの let と const、どう違うの?」
変数や定数はプログラミングの基本ですが、JavaScriptでは独自のルールがあり、少し戸惑うこともあります。
この記事では、初心者の方に向けて、letとconst の「何がどう違うのか?」そして「どう使い分ければいいのか?」をやさしく解説します。
「とりあえず を使っているけれど、これでいいのかな?」と悩んでいる方も、この記事を読み終えるころには、それぞれの使い方に自信が持てるようになります!
はじめに
この記事では、前回の「JavaScriptにおける変数と定数とは?」で紹介した基本をふまえ、letとconstの使い分けにフォーカスして解説します。
また、昔からある var という書き方もありますが、現在はあまり使われておらず、代わりに let や const が主流です。この記事ではその点にも軽く触れます。
JavaScriptの宣言方法:let / const の違い
JavaScriptで変数や定数を宣言するには、現在は主に以下の2つを使います。
- let:再代入できる変数(値が変わるものに使う)
- const:再代入できない定数(値が変わらないものに使う)
過去には var という方法も使われていましたが、思わぬバグにつながることがあるため、現在は基本的に使いません。
let と const の使い方をコードで確認
let の例:
|
1 2 |
let score = 80; score = 90; // OK:再代入できる |
const の例:
|
1 2 |
const pi = 3.14; pi = 3.15; // エラー:再代入できない |
constは再代入できませんが、オブジェクトや配列の中身の変更は可能です。
|
1 2 |
const fruits = ['apple', 'banana']; fruits.push('orange'); // OK:配列の中身を変更 |
スコープ(見える範囲)の違いにも注意
letとconstは「ブロックスコープ」で動作します。
|
1 2 3 4 |
if (true) { let greeting = "こんにちは"; } console.log(greeting); // → エラー:スコープ外 |
|
1 2 3 4 5 6 |
let x = 10; { let x = 20; console.log(x); // → 20(ブロック内の x) } console.log(x); // → 10(外の x) |
このように、if や for の中で定義した変数は、その中でしか使えず、外からはアクセスできません。これが、コードの安全性を高めます。
「スコープ」とは、変数がどこから見えるか(アクセスできるか)の範囲のことです。
var はなぜ避けられるのか?
var は JavaScript 初期から存在する宣言方法ですが、以下のような理由から現在は推奨されていません。
- 関数スコープ:ifやforなどの中でも外から見えてしまう
- 巻き上げ(hoisting):宣言がコードの先頭に移動してしまうように見える
|
1 2 3 4 |
if (true) { var message = "こんにちは"; } console.log(message); // → "こんにちは"(見えてしまう) |
このような振る舞いはバグの原因になりやすいため、現在は let と const を使うのが一般的です。
どれを使えばいい?使い分けのポイント
以下のルールが基本です。
- まず const を使う(変更のない値に)
- 変更が必要な場合だけ let を使う
- var は原則使わない(互換性や古いコードで見かける程度)
これは多くのプロジェクトや現場で採用されている、実践的なスタイルです。
まとめ:let と const を正しく使って、安全でわかりやすいコードに
JavaScriptでは、let と const の使い分けを意識することで、バグを防ぎやすくなり、読みやすいコードになります。
まずは 「const を基本に、必要なら let」 のシンプルなルールを覚えておけばOKです。
最初は let を使いがちですが、まずは const を使う習慣をつけると、コードの意図がより明確になり、バグも防ぎやすくなります。
次回は if 文や for 文といった、条件分岐や繰り返し処理について解説していきます。
[JavaScript] 超入門 シリーズ
[JavaScript] 超入門:JavaScriptにおける変数と定数とは?
[JavaScript] 超入門:JavaScript とは?初心者にもわかる『Webページに動きをつける』基本
![MARKLEAPS[マークリープス]](https://markleaps.com/blog/wp-content/themes/mkl/images/00_logo.png)
![[JavaScript] 特定の曜日にだけ要素を表示する方法](https://markleaps.com/blog/wp-content/uploads/wordpress-popular-posts/6908-first_image-220x167.jpg)
![[JavaScript] 超入門:データ型を基礎から理解!文字列・数値・配列・オブジェクトをやさしく解説](https://markleaps.com/blog/wp-content/uploads/2025/06/js-data-types-500x254.jpg)
![[JavaScript] 超入門:JavaScriptにおける変数と定数とは?](https://markleaps.com/blog/wp-content/uploads/2025/05/js-variable-constr-500x254.png)
![[JavaScript] 超入門:JavaScript とは?初心者にもわかる『Webページに動きをつける』基本](https://markleaps.com/blog/wp-content/uploads/2025/05/js-what-is-500x254.jpg)
