目次
let, const, varの違い
再宣言 | 再代入 | スコープ | 初期化 (ホイスティング) | |
---|---|---|---|---|
let | x | o | ブロック | x |
const | x | x | ブロック | x |
var | o | o | 関数 | undefined |
再宣言
// エラー
let x = 0;
let x = 1;
// 後に宣言した1が表示
var y = 0;
var y = 1;
再代入
// 1が表示される
let x = 0;
x = 1;
// エラー
const x = 0;
x = 1;
ブロックスコープ
// varはブロックが無視される
{
let x = 0;
var y = 0;
}
// 上記は下記と同じ意味となる
{
let x = 0;
}
var y = 0;
初期化(ホイスティング)
// letの前に値を取得しようとするとエラー
console.log(x);
let x = 0;
// varの前に値を取得しようとするとundefined
console.log(y);
var y = 0;
var はバグを生む原因となるので、非推奨です。
変数とデータ型
データ型
変数が持っているデータの種類。
型 | 英名 | 例 |
---|---|---|
真偽値 | Boolean | true / false |
数値 | Number | 12 |
文字列 | String | “Hello” |
undefined(値が未定義) | Undefined | undefined |
null(変数が空) | Null | null |
シンボル | Symbol | 一意の値 |
BigInt(桁が多い数値を取り扱う) | BigInt | 12n |
オブジェクト | Object | {a: ‘value’} |
コメント