Tuesday_May_19

오늘은 Let, Const, Var의 차이를 뿌시려고 한다.

변수를 사용하기 위한 과정은 다음과 같다.

.
.
.

1 - Create (생성)

2 - Initialize (초기화)

3 - Use (사용)

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 등이 있다.

.
.
.

요약 : Let은 값 변경 가능, Const는 불가능, Var는 이제 쓰지 않는다.

profile
🐇 Rabbit can take a rest, but 🐢 turtle can't

0개의 댓글