자바스크립트에서는 변수를 사용하기 전에 변수 선언을 해야한다. 변수 선언 시 var, let, const 키워드를 이용하여 여러개의 변수를 선언함과 동시에 초기화 할 수 있다.
var apple; // 변수 i 선언
var a, b, c; // 여러개의 변수 선언
var i = 0; j = 1; k = 2; // 여러개의 변수 선언과 동시에 초기화
let apple; // 변수 i 선언
let a, b, c; // 여러개의 변수 선언
let i = 0; j = 1; k = 2; // 여러개의 변수 선언과 동시에 초기화
const apple; // SyntaxError
const a, b, c; // SyntaxError
const i = 0; j = 1; k = 2;
var와 let으로 선언된 변수에 초기 값을 지정하지 않는 다면, 변수는 값이 할당될 때까지 ‘undefined‘ 값을 갖게 된다.
const는 var과 let과 달리 변수에 초기 값을 지정하지 않은 채 선언하면 구문에러(SyntaxError)가 발생한다.
const로 변수를 선언할 때는 반드시 초기 값을 지정해줘야 한다.
var는 function-scoped이고, let, const는 block-scoped이다.
function-scoped
모든 변수가 함수에 속하고 함수 전체에 걸쳐서 사용
block-scoped
선언된 변수를 둘러싼 블록의 스코프를 이용
ex) 기존의 존재하는 변수 name를 재선언하여도 에러가 발생하지 않는다.
var name
var name
// 오류 없음
ex) 위 var과는 다르게 이미 존재한다는 에러 메시지를 보여준다.
let name2
let name2
//오류발생 Uncaught SyntaxError: Identifier 'name2' has already been declared