let、const、varを避ける理由
letとconstの基本、varを避ける理由、block scope、temporal dead zone(TDZ)の概要をやさしく学びます。
「let、const、varを避ける理由」はCoddyKit上の無料JavaScript Academyレッスンです。 これはレッスン1/3です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはJavaScript Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 JavaScript Academyコースには全3レッスンが含まれています。
導入
目標: let と const を自信を持って使い、古い var を避け、ブロックスコープとTDZを理解します。
- letとconst
- ブロックスコープ
- TDZによる安全性

letとconstの基本
ルール: 再代入する予定がない場合はconstを使い、再代入する場合はletを使ってください。
// Prefer const by default; use let when you need to reassign
const appName = "CoddyKit";
// cannot reassign
let score = 0;
// can reassign
score = score + 1;
console.log("App:", appName);
console.log("Score:", score);

varを避ける理由
varは避けてください。理由は次のとおりです。
- ブロックスコープではなく、関数スコープです。
- ホイスティングされ、宣言前に参照すると undefined になることがあります。
- リファクタリングが難しくなり、予測しにくくなります。

ブロックスコープの例
ブロックスコープを使うと、変数をローカルに保ち、コードを整理できます。
// Block scope: variables exist only inside the braces
let lives = 3;
if (true) {
const bonus = 10;
// only inside this block
let level = 2;
// only inside this block
console.log("Inside:", bonus, level);
}
console.log("Lives:", lives);
// The following would be ReferenceError if uncommented:
// console.log(bonus, level);

TDZ(安全な例)
TDZ: let/const の変数は、宣言行より前に参照できません。これにより、多くのバグを防げます。
// TDZ: accessing let/const before declaration throws ReferenceError
try {
// Uncommenting next line would throw:
// console.log(theme);
// ReferenceError (TDZ)
let theme = "dark";
console.log("Theme after declare:", theme);
} catch (e) {
console.log("Caught:", e.message);
}

命名とヒント
命名:
- データにはわかりやすい名詞を使ってください(userName、score)。
- 関数には動詞を使ってください(computeTotal)。
- スコープを狭く保ち、使用箇所の近くで宣言してください。

letとconstのクイズ
クイックチェック: ブロックスコープと再代入です。

まとめ
まとめ: const を優先し、再代入が必要な場合に let を使い、var は避けてください。ブロックスコープは変数をローカルに保ち、TDZは早すぎるアクセスによるバグを防ぎます。

よくある質問
「let、const、varを避ける理由」レッスンは無料ですか?
はい。「let、const、varを避ける理由」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、JavaScript Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 JavaScript Academyコースには全3レッスンが含まれています。
「let、const、varを避ける理由」で何を学びますか?
letとconstの基本、varを避ける理由、block scope、temporal dead zone(TDZ)の概要をやさしく学びます。 ブラウザで直接実行するハンズオンコードでJavaScript Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
JavaScript Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのJavaScript Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/3です。
「let、const、varを避ける理由」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このJavaScript Academyレッスンでコードを書いて実行できますか?
はい。すべてのJavaScript Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- let、const、varを避ける理由
- Block/Function/Module ScopeとTDZ
- 命名、可読性、よくある落とし穴