2023 10 18
2023-10-18¶
JS var, let, const¶
참고: https://fromnowwon.tistory.com/entry/for%EB%AC%B8-let 참고: https://wonyoung2257.tistory.com/27
- var, let, const 비교
- var
- 재선언 : O
- 재할당 : O
- 변수 참조 : O
- 유효범위 : function scope
- let
- 재선언 : X
- 재할당 : O
- 변수 참조 : X
- 유효범위 : block scope
- const
- 재선언 : X
- 재할당 : X
- 변수 참조 : X
- 유효범위 : block scope
- 그러다보니...
- var
- var말고 const, let을 주로 쓰라고 함
- 중복 선언
- var는 중복 선언이 가능함
- let/const는 중복 선언 언어 차원에서 방지 시켜줌
- 함수 레벨 스코프
- var: 함수레벨 스코프
- let/const: 블록레벨 스코프
- 변수 호이스팅
- 변수 호이스팅 : 변수 선언문이 코드의 선두로 끌어올려진 것 처럼 동작하는 자바스크립트 고유의 특징...
- var는 당당하게 변수 호이스팅이 되는 반면, let은
ReferenceError가 나옴
- 중복 선언
- 변수 호이스팅
- 놀랍게도 js는 이딴 코드가 동작한다...
var num이 코드의 선두로 끌어올려진 것 마냥 동작한다...
- let vs const
- 공통점
- 변수명 중복 선언 X
- 블록 레벨 스코프
- 변수 호이스팅 안되는 것처럼 동작
- 차이점
let: 재할당 가능,const: 재할당 불가능
- 공통점