情報系学生の就職活動完全攻略マニュアル!
progmraming
未経験からのプログラミング上達ガイド
変数は、値を入れておく箱のようなものです。その箱の中身は、必要に応じて何度でも変更できます。
let age = 25; // ageという箱に25を入れる
age = 26; // 箱の中身を26に変更
console.log(age); // 26と表示される
定数は、一度値を設定したら変更できない箱です。初期化時に設定した値は固定されます。
const PI = 3.14159; // PIという箱に円周率を入れる
PI = 3.14; // エラー!定数は変更できない
JavaScriptでは以下の3つの方法で変数や定数を宣言できます:
キーワード | 用途 | 再代入 | スコープ |
---|---|---|---|
let | 変数宣言 | 可能 | ブロックスコープ |
const | 定数宣言 | 不可 | ブロックスコープ |
var | 変数宣言(非推奨) | 可能 | 関数スコープ |
// モダンなJavaScriptの推奨パターン
let userName = "Alice"; // ブロックスコープの変数
const API_KEY = "abc123"; // ブロックスコープの定数
// 非推奨パターン(互換性のために残されている)
var oldStyle = "legacy"; // 関数スコープの変数
let
とconst
を使うのが一般的だよ。var
は昔の記法で、思わぬバグを引き起こす可能性があるから注意が必要なんだ。 const MAX_RETRIES = 3;
const API_ENDPOINT = 'https://api.example.com';
const userProfile = { name: 'Bob', age: 30 };
const colors = ['red', 'green', 'blue'];
const calculateTotal = (price, tax) => { return price * (1 + tax); };
let counter = 0; let isLoggedIn = false;
for (let i = 0; i < 10; i++) { console.log(i); }
const
を使って、本当に値が変わる必要がある時だけlet
を使えばいいんだね! スコープとは、変数や定数がアクセス可能な範囲のことです。
function example() {
if (true) {
let blockVariable = 'これはブロック内でのみ有効';
const blockConstant = '同じくブロック内でのみ有効';
}
// ここではblockVariableとblockConstantにアクセスできない
console.log(blockVariable); // エラー!
}
function legacyExample() {
if (true) {
var functionVariable = 'これは関数内のどこからでもアクセス可能';
}
console.log(functionVariable); // '関数内なのでアクセス可能'
}
var
を使うと予期しない動作が発生する可能性があるため、現在はlet
やconst
のブロックスコープの方が安全で推奨されているんだ。 // ユーザー情報管理システム
const MAX_LOGIN_ATTEMPTS = 5; // 変更されない設定値
let loginAttempts = 0; // カウントとして使用(値が変わる)
let isLocked = false; // ログイン状態(値が変わる)
const user = {
name: 'Alice',
email: 'alice@example.com'
};
// オブジェクトの値は変更可能(オブジェクト自体は再代入不可)
user.name = 'Alice Johnson'; // OK
user.lastLogin = new Date(); // OK(新しいプロパティ追加)
// user = {}; // これはエラー!
const
で宣言したオブジェクトの中身は変更できるんだね!混乱しそうだな… const
は変数自体の再代入を防ぐだけで、オブジェクトや配列の中身の変更は可能なんだ。この違いをしっかり理解しておくことが大切だね😊 const person = { name: 'Tom' };
person.name = 'Thomas'; // これは可能!
person.age = 25; // これも可能!
// オブジェクトを完全に固定したい場合
const frozenPerson = Object.freeze({ name: 'Tom' });
frozenPerson.name = 'Thomas'; // 無視される(Strictモードではエラー)
// 非推奨:同じ変数名での再宣言
var x = 10;
var x = 20; // OK(varは再宣言可能)
let y = 10;
let y = 20; // エラー!(ブロック内で再宣言不可)
// 推奨:適切な宣言方法の選択
const CONFIG = {...};
let dynamicValue = 0;
const
を使い、必要な場合のみlet
を使用let
とconst
を優先的に使用Vol.2では「条件分岐を理解しよう」をテーマに、if文とswitch文の使い方を解説します。お楽しみに! 🚀