目次
var、let、constとは?
JavaScriptでは、変数や定数を使うとき、変数名を宣言することが推奨されています。var
let
const
とは、JavaScriptで変数を宣言する際に使うキーワードです。
varは昔からあり、letとconstは、ECMAScript2015からの新しい宣言方法です。
var | let | const | |
---|---|---|---|
再宣言 | ◯ | × | × |
再代入 | ◯ | ○ | × |
スコープ | 関数 | ブロック | ブロック |
再宣言・・・一度宣言した変数を、同じ変数名で宣言し直すこと
再代入・・・
varの再宣言、再代入
○再宣言
○再代入
var x = '初期値OK';
x = '再代入OK';
var x = '再宣言OK';
現在let
が推奨されていてあまり使うことはない。
letの再宣言、再代入
×再宣言
○再代入
let y = '初期値OK';
y = '再代入OK';
let y = '再宣言NG';
「変数」として使われます。
constの再宣言、再代入
×再宣言
×再代入
const z = '初期値OK';
z = '再代入NG';
const z = '再宣言NG';
「定数」として使われます。(一度決めたら変えない)
var、let、constの文法、書き方
文法は各キーワードの後に、変数名と初期値を記述。
varとletは初期値を省略可能です。
// varの書き方
var hoge1 = 'hoge1';
var hoge2; // 初期値を省略した場合
// let
let hoge1 = 'hoge1';
let hoge2; // 初期値を省略した場合
// const
const hoge = 'hoge'; // constは初期値省略不可
var、let、constのスコープ
実行中のコードから参照できる範囲をスコープと言います。
スコープの種類
├── グローバルスコープ・・・プログラムのどこからでもアクセス可能
└── ローカルスコープ
├──関数スコープ・・・関数(function)ごとに作られるスコープ
└──ブロックスコープ・・・ブロック({})ごとに作られるスコープ
var | 関数 |
let | ブロックスコープ |
const | ブロックスコープ |
// 例)if文{}の中で宣言された場合
if ( ) {
var x = 'var OK';
let y = 'let NG';
const z = 'const NG';
}
// if文{}ブロックの外側
console.log(x); //利用可能
console.log(y); // スコープ外エラー
console.log(z); // スコープ外エラー
まとめ
var、let、constとは?違いと使い方についてでした。
var | 現在使わない |
let | 変数(再代入可) |
const | 定数 |
ざっくりまとめるとこんな感じです。
あわせて読みたい記事
あわせて読みたい書籍
リンク