勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ

JavaScriptの変数宣言であるvar / let / constの使い分けについて

   2024/02/20  JavaScript

JavaScript関連の調べ物をしていた際、変数の宣言時にvarではなくletと記述されているソースを見かけた。初めて見たので何なのか調べてみるとvarとlet以外にもconstというものもあった。以下にそれぞれの違いや使い方をメモ。

 

違い

再宣言 再代入 初期値の省略 スコープ外の呼び出し
var ○ ○ ○ ○
let × ○ ○ ×
const × × × ×

 

再宣言、再代入、初期値の省略、スコープ外の呼び出しについての詳細は以下の通り。

再宣言

var hoge = 1;
var hoge = 2;

再代入

var hoge = 1;
hoge = 2;

初期値の省略

var hoge;

スコープ外の呼び出し

if( num < 1  ){
    var hoge = 1;
}
console.log(hoge); //ここで呼び出せるかどうか

 

使い方

基本的には再代入の可能性があればletを、なければconstを使うのが良いみたい。

 

参考サイト

https://techacademy.jp/magazine/14872

 - JavaScript

  関連記事

sweetalert2を閉じた後、指定位置にスクロールしようとしても元の位置に戻る現象を解決する方法
sweetalert2を閉じた後、指定位置にスクロールしようとしても元の位置に戻る現象を解決する方法

sweetalert2で表示したウィンドウを閉じた後、指定位置にスクロールさせた ...

jQueryにて指定した要素を検索条件から除外するnot()の利用方法
jQueryにて指定した要素を検索条件から除外するnot()の利用方法

あるソースコードを拝見しているとjQueryでnot()という使ったことの無いメ ...

バニラJS対応(jQuery非依存)の画像遅延読み込みライブラリ「lazysizes」の利用方法
バニラJS対応(jQuery非依存)の画像遅延読み込みライブラリ「lazysizes」の利用方法

あるサイトのコーディングデータを貰った際に「lazysizes」というJavaS ...

JavaScriptでダミー画像(プレースホルダー画像)を表示する「Holder.js」ライブラリの利用方法
JavaScriptでダミー画像(プレースホルダー画像)を表示する「Holder.js」ライブラリの利用方法

サイトの開発段階で「本番用の画像はまだ用意できていない」等の理由によりダミー画像 ...

バニラJavaScriptでinputタグのtypeをtext⇔passwordに変更する方法
バニラJavaScriptでinputタグのtypeをtext⇔passwordに変更する方法

チェックボックスの状態によってinputタグのtypeをtext⇔passwor ...