var, let, constとは?変数と定数の違いと使い方【JavaScript入門】

code

var、let、constとは?

JavaScriptでは、変数や定数を使うとき、変数名を宣言することが推奨されています。

var let constとは、JavaScriptで変数を宣言する際に使うキーワードです。

varは昔からあり、letとconstは、ECMAScript2015からの新しい宣言方法です。

varletconst
再宣言××
再代入×
スコープ関数ブロックブロック

再宣言・・・一度宣言した変数を、同じ変数名で宣言し直すこと
再代入・・・

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定数

ざっくりまとめるとこんな感じです。

あわせて読みたい記事

あわせて読みたい書籍

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA