728x90
ES6 부터 추가된 자바스크립트의 변수 선언 const, let에 대해 알아 보겠다.
var - 자바스크립트의 변수선언
사용예 :
document.writeln(vTiger); //undefinded
var vTiger = "호랑이";
document.writeln(vTiger); //호랑이
var vTiger = "사자";
document.writeln(vTiger); //사자
vTiger = "원숭이";
document.writeln(vTiger); //원숭이
문제1. vTiger 변수를 선언하지 않았음에도 에러가 발생하지 않는다. 이것을 호이스팅이라고 하는데 변수가 선언만 된다면 초기화를 했든 안했든 Scope의 맨위에 생성된다. 그래서 초기화(변수의 값을 지정)하지 않아도 에러가 발생하지 않는다.
문제2. vTiger 변수를 사자로 다시 선언 할 수 있다.
문제3. vTiger의 변수명을 보면 알 수 있다싶이 변수의 값은 호랑이에서 사자나 원숭이로 변할 수 없다. 그래서 변하지 않는 변수로 선언이 필요하다.
위의 문제 3개로 인해 ES6부터 추가된게 let이다.
document.writeln(lTiger); //error
let lTiger = "호랑이";
document.writeln(lTiger); //호랑이
let lTiger = "사자"; //error
lTiger = "원숭이";
document.writeln(lTiger); //원숭이
let을 사용해 보았다. 변수명이 animal이였다면 문제가 되지 않을 것 이다.
animal은 호랑이가 될 수 있고 원숭이가 될 수 있다.
하지만 tiger는 호랑이 하나 밖에 될 수 없다. 이런 값을 상수(constant) 라고 부른다. 이런 상수 값을 위해 필요한게 변수선언문이 const 다.
const cTiger = "호랑이";
cTiger = "원숭이"; //error
위 내용을 습득 함으로 써 var만 주구장창 쓰던 옛날 개발자에서 우리는 조금더 발전했다.
'Java Script' 카테고리의 다른 글
문자열을 byte로 변환하기 (0) | 2021.05.20 |
---|---|
Required List parameter 'Parameter' is not present 에러 (0) | 2021.05.16 |
[jquery] checkbox 체크여부 확인 (0) | 2021.05.03 |
JSP에서 임의의 변수를 만들어 JS에서 가져와 쓰기 (0) | 2021.04.19 |
JavaScript에서 삼항연산자를 사용하자 (0) | 2021.04.19 |