1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

const、let等の変数宣言

Last updated at Posted at 2021-04-25

#JavaScriptの変数について

##そもそも変数とは
変数とは名前をつける。
例えば、犬を飼っているとして、柴犬にポチと名前をつけるのと一緒です。
好きな名前をつけれるし、呼びやすいし愛着湧くでしょう。

##型の種類、var let constについて

###var

  • varは上書き可能
  • varは再宣言可能
var hoge01 = "hoge01変数";
console.log(hoge01);
}

consoleではこのように表示されます。
hoge01変数

var hoge01 = "hoge01変数";

hoge01 = "hoge01変数を上書き";
console.log(hoge01);
}

consoleでは上書きされてこのように表示されます。
hoge01変数上書き

このようにvarで宣言すると、プロジェクトが大きくなると意図しないところで変数を上書きしてしまい
不具合の原因になります。

###let

  • letは上書き可能
  • letは再宣言不可能
let hoge02 = "hoge02変数";

hoge02 = "hoge02変数を上書き";
console.log(hoge02);

こちらもvar同様に上書きされコンソールにはこのように表示されます。
hoge02変数を上書き

let hoge02 = "hoge02変数を再宣言";

let変数を再宣言しようとすると、コンソールにこのようなエラーが出ます
Uncaught SyntaxError: Identifier 'hoge02' has already been declared
もうすでにhoge02は宣言されているとエラーが出ます。
letだと再宣言されるとエラーが出るのでバグを未然に防げます

###const

  • constは上書き不可
  • constは再宣言不可
const hoge03 = "hoge03変数";

hoge03 = "hoge変数を上書き";
console.log(hoge03);

const変数を上書きしようとするとコンソールにエラーが出ます。
Uncaught TypeError: Assignment to constant variable.

const hoge03 = "hoge03変数";

const hoge03 = "hoge03を再宣言";
console.log(hoge03);

const変数を再宣言しようとするとlet同様にコンソールにエラーが出ます
Uncaught SyntaxError: Identifier 'hoge03' has already been declared

##変数宣言について
変数名 =

##まとめ
varは再宣言、上書きなんでもできる。
便利だがプロジェクトが大きくなると不具合の原因になる可能性がある。
letは再宣言はできないが上書きが可能、なのでfor分の変数とかによく使われる。
constは上書き、再宣言共に不可能だが、constで定義した、配列、オブジェクトのプロパティは変更可能
なのでほとんどの宣言がconstでいいのかな。

最後まで読んでいただきありがとうございました。

1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?