ref) 자바스크립트 동작원리와 ES6 - Fundamentals of JavaScript & ES6
ref) 생활코딩 - JavaScript - var VS let VS const
자바스크립트에서 변수 선언에 var, let, const를 사용한다.
이 중 변수 사용에 var는 절대 사용하지 말라! 라는 말을 듣곤 한다. -> 면접에서도 많이 물어본다!
무슨 차이가 있을까?!
let 과 const는 2015년 ES6에서 도입된 변수 선언키워드로 '블록 스코프' 레벨을 따른다.
ECMAScript란?JavaScript 언어의 표준이며 ES6라고도 한다.
'let'은 변수 / 'const'는 상수를 선언
var VS let, const
var | let | const | |
function local Scope | O | O | O |
block Scope | X | O | O |
재선언 | O | X | X |
재할당 | O | O | X |
* 스코프(Scope)는 범위, 영역이라 생각하면 된다.
(자바스크립트에서)
- global Scope : 전역범위. 일반적으로 모든 코드가 실행되는 웹페이지. -> 가장 큰 범위.
- function local Scope : 함수 영역
- block Scope : 코드 블록 { } (함수, if문, for문, while 문, try/catch 문 등) 내의 영역
다른 언어와 다르게 자바스크립트의 var는 아래와 같은 성질이 있다!
var
- var 키워드 생략 가능
- 변수 중복 선언 허용
- 변수 호이스팅 가능
-> var : undefined로 초기화
-> let : ReferenceError 발생
위와 같은 엄격하지 않은 조건으로 인해 복잡해 질 수 있음!
----> 그러므로 var는 사용하지 말자!!
* 호이스팅(Hoisting)
: var나 function등 선언문이 해당 Scope의 선두로 옮겨진 것처럼 동작하는 것!
REF)
- script Scope : Google's V8 JavaScript engine calls the part of the global environment that holds the new style of lexically-scoped globals created when you use , , and at global scope


'JavaScript' 카테고리의 다른 글
JavaScript 변수 작명가이드 (0) | 2025.02.06 |
---|