LoginSignup
2
0

More than 3 years have passed since last update.

変数と定数

Last updated at Posted at 2021-03-30

const

  • ブロックスコープ({}外では参照できない)
  • 再代入禁止
  • 値が変わらないのでコードが読みやすい
  • オブジェクトなどの値は変更可能
const test = 'hoge';
test = 'fuga'; //エラー

let

  • ブロックスコープ
  • 再代入可能
  • 同名変数を許可しない
  • より細かく変数の有効範囲を管理できる
  • ループ処理(for文)等、あらかじめ変数の中身が変化することが分かっている場合に使う
let hoge = 'hoge';
hoge = 'hogehoge';

console.log(hoge);//hogehoge

ver

  • 同名変数が許可される(バグの可能性あり)
  • 関数スコープ
  • ES6以前の命令

まとめ

  • 変数宣言は基本的に const
  • 変数への再代入が必要な場合に限りletを使う
  • 原則 varは使わない
変数 再代入 再宣言 関数内宣言 ブロック内宣言
const × × ブロック ブロック
let × ブロック ブロック
var ブロック グローバル
宣言省略
(非strict mode)
× グローバル グローバル
2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0