ES6 이전에는 var 키워드가 변수 선언하는 유일한 방법이었다. 

ES6 let과 const 키워드를 지원한다. 

 


const 

상수를 선언하는 키워드이다. 

상수는 값을 변경할 수 없다. 

 

const max = 100

 

해당 값을 변경하려고 하면 아래의 에러가 발생한다. 

Uncaught TypeError: Assignment to constant variable.

 

상수값은 변경할 수 없다. 

 


let 

구문적인 변수 영역 규칙을 지원한다. 

{}를 사용해 코드 블록을 만든다. 

함수의 경우 코드 블록이 별도의 변수 영역을 이룬다. 

if/else, for 블록은 별도의 영역을 구성하지 않는다.. (다른 언어랑 다름) 

 

 

var 변수로 선언시 

var subject = "javascript"

if( subject ) {
    var subject = "react"
    console.log( '블록' , subject ) 
}

console.log( '글로벌' , subject ) 

 

결과 ) 

블록 react

글로벌 react 

 

 

let 변수로 선언시 

global영역에 있는 subject 변수의 값을 변경하지 않는다. 

var subject = "javascript"

if( subject ) {
    let subject = "react"
    console.log( '블록' , subject ) 
}

console.log( '글로벌' , subject ) 

결과 ) 

블록 react

글로벌 javascript

 

블로그 이미지

나무뚱이

,