변수는 let
상수는 const
ES5에서 변수 상수 구분 없이 var하나로 쓰던것과 달리 ES6에서는 변수와 상수를 구분해줬다.
let
var가 let으로 변했다고 생각하면 쉽지만 몇가지 차이점이 있다.
<var의 경우>
var a =1;
var a =2;
=>오류가 나지 않는다.
<let의 경우>
let a =1;
let a =2;
=>SyntaxError : Identifier 'a' has already been declared(구문오류: 식별자 a는 이미 선언된적이있다) 발생
이와 같이 ES6의 let은 이미 선언된 이름으로는 선언 할 수 없다. 하지만 다른 블록 범위{}(if문 등) 내에서는 동일한 이름으로 사용이 가능하다. 이외에도 var와 let은 사용할 수 있는 범위가 다르다고 하는데 더 공부해봐야 알 것 같다.
const
const는 상수로 값이 고정적으로 한번 설정한 값을 바꿀 수 없다.
const a = 1;
a = 2;
=> Error: "a" is read-only(a는 읽기 전용이다) 에러 발생
const a =1;
const a =2;
=>SyntaxError : Identifier 'a' has already been declared(구문오류: 식별자 a는 이미 선언된적이있다) 발생
'공부 > JAVASCRIPT' 카테고리의 다른 글
[JAVASCRIPT] 배열 내장 함수 map, indexOf, findIndex, find, filter (0) | 2020.05.06 |
---|---|
[JAVASCRIPT] 배열 내장 함수 forEach (0) | 2020.05.06 |
[ES6] 비구조화 할당(객체 구조 분해) (0) | 2020.05.04 |
[ES6] 화살표 함수 (0) | 2020.05.04 |
[ES6] ECMAScript 6란? (0) | 2020.05.04 |