Tuesday_May_19
오늘은 Let, Const, Var의 차이를 뿌시려고 한다.
변수를 사용하기 위한 과정은 다음과 같다.
.
.
.
let name; name = `minho`; console.log(name);
물론 생성과 초기화를 동시에 할 수도 있다.
let name2 = `lee`;
아무튼 변수를 선언하려면 3가지의 방법이 있다.
Var, Let, Const
Let
Let은 변수의 값을 변경 할 수 있다.
예를 들어let yourname =
abc
;
라고 초기화 한 뒤, 다시
yourname =def
;
라고 변경이 가능하다. (ES6에 추가됐다.)
Const
Let과 다르게 변수의 값을 변경 할 수 없다.
여기서, Let과 Const는 Block Scope {} 안에서 선언하면 당연히
Global Scope에서 사용 할 수 없다.
물론 Global Scope에서 선언하면 Global Scope, Block Scope에서
모두 사용이 가능하다.
이 이야기를 하는 이유는 'Var' 때문이다.
Var
1
일단 위에서 Global Scope과 Block Scope에 대해 언급한 이유가
이 'Var'라는 놈은 그냥 무시를 해버린다.
Block Scope 안에서 선언을 해도 밖에서 그냥 쓸 수가 있다.2
이 글 맨 위에서 변수를 사용하기 위한 과정에 대해 설명을 했는데
'Var'는 또 이 순서를 무시해 버린다.
Let은 오류가 나지만, Var는 오류가 나지 않는다.
.
.
이걸 Var Hoisting 이라고 하는데, 어디에 선언을 하던지 할당이 가능하고
물론 할당 전에 출력도 가능하다.(물론 그렇게 되면 undefined 라고 뜬다)
('Hoisting = 끌어 올리다' 라는 뜻이다)그래서!!! Let이라는 놈이 ES6부터 나온거다.
Text, Boolean, Numbers, Floats 등이 있다.
.
.
.