[JavaScript]var,let,const差異


JavaScriptでは、変数を使用する前に変数を宣言する必要があります.変数を宣言するときにvar、let、constキーを使用して複数の変数を同時に初期化できます.

var

var apple; // 변수 i 선언 
var a, b, c; // 여러개의 변수 선언
var i = 0; j = 1; k = 2;  // 여러개의 변수 선언과 동시에 초기화

let

let apple; // 변수 i 선언
let a, b, c; // 여러개의 변수 선언
let i = 0; j = 1; k = 2;  // 여러개의 변수 선언과 동시에 초기화

const

const apple;  // SyntaxError
const a, b, c;  // SyntaxError
const i = 0; j = 1; k = 2;
varおよびletとして宣言された変数に初期値を指定しない場合、その変数は指定された値まで「undefined」値を有します.
varとletとは異なり、const宣言時に変数に初期値を指定しないと構文エラー(SyntaxError)が発生します.
変数をcontで宣言する場合は、初期値を指定する必要があります.

var、let、constの違い


varはfunction-scoped,let,constはblock-scopedである.

function-scoped


すべての変数は関数に属し、関数全体で使用されます.

block-scoped


宣言変数を囲むブロックのスキャンの使用

var

  • は、JavaScriptで変数を宣言する宣言者です.
  • 変数の有効範囲に問題があります.
  • ex)既存の変数nameを再宣言してもエラーは発生しません.
    var name
    var name
    // 오류 없음

    let

  • ビットvarの問題を補うために、ECMAScript 6から追加された変数宣言者.
  • 上記varとは異なり、既に存在するエラーメッセージが表示されます.
    let name2
    let name2
    //오류발생 Uncaught SyntaxError: Identifier 'name2' has already been declared

    const

  • letと同様、ECMAScript 6から追加された宣言者です.
  • letとは異なり、宣言時に一度だけ初期化できる定数です.
  • セグメントで、配列やオブジェクトなどの参照タイプの場合、値(輪郭)を変更できます.