0
1

More than 3 years have passed since last update.

【JavaScript】var、let、constの違い

Posted at

はじめに

最近JSの学習をはじめ、変数を宣言する際にvar、let、constのどれで宣言したらいいのか迷ったので使い分けを備忘録としてまとめて行こうと思います。アドバイスなどがあればコメントよろしくお願いします。

var、let、constの違い早見表

再宣言 上書き 配列・オブジェクト書き換え
var
let ×
const × ×

var

従来のJavaScriptでは変数宣言は全てvarで行っていた。varは変数の上書きも、再宣言、配列・書き換えが全てでき柔軟性はあるが、逆に何でもできてしまうのでプロジェクトが大きくなった時に意図しない変数の上書きや再宣言が起きてしまうためバグの原因になりやすい。古い記述方法なので現在はあまり使わない。

var animal = "いぬ";
// => いぬ

// 再宣言
var animal = "ねこ";
// => ねこ

// 上書き
animal = "さる";
// => さる

let

letはvarと同じで値の上書きはできるが、再宣言はできない。再宣言するとエラーで知らせてくれるので事前に検知することができる。上書きされる前提の変数にはletを使用すると良い。

let animal = "いぬ";
// => いぬ

// 再宣言
let animal = "ねこ";
// =>  SyntaxError

// 上書き
animal = "さる";
// => さる

const

constは再宣言も上書きもできない厳密な宣言方法。配列やオブジェクトの書き換えは可能。

const animal = "いぬ";
// => いぬ

// 再宣言
const animal = "ねこ";
// =>  SyntaxError

// 上書き
animal = "さる";
// =>Error

// オブジェクト、配列の書き換え
const animal_array = ["いぬ", "ねこ", "さる"];

animel_array[1] = "きじ";
// => ["いぬ", "きじ", "さる"]
0
1
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
0
1