Coding/Javascript

ES5/ES6 차이

민톨이 2024. 3. 1. 16:30
728x90

ES5

-오른쪽값을 변수공간(=저장공간)에 "대입연산자"로 하여 초기화

-var은 변수선언 전에 사용이 가능한 문제가 있음(변수호이스팅)

 + 호이스팅 : 인터프리터가 코드를 실행하기 전에 함수,변수,클래스 또는 임포트의 선언문을 해당 범위의 맨 위로 끌어올리는 것처럼 보이는 현상

                      (메모리 공간을 선언하기 전에 미리 할당하는 것)

-var없이도 변수선언이 가능하며 전역에 생성됨

-반복문에서 변수선언시 전역변수가 만들어짐

-var 함수스코프이므로 함수내부가 아닐 경우 전역변수가 되어버림

for (var i = 0; i < 5; i++) {
  console.log(i);
}
 console.log(window.i);

ES6

-let, const로 변수선언

-선언 전에는 사용 불가

-키워드 없이 변수 선언 가능하나 키워드 사용해야함

-let, const는 "블럭"스코프임 - let, const 없이 변수 선언 시 전역변수로 생성되므로 키워드 반드시 써야함

-블럭 안에 선언한 지역변수

{  
let test2 = 'hi';
  console.log(test2);
}

-let: 재선언 x / 재할당 o

-const: 재선언 x / 재할당 x

'Coding > Javascript' 카테고리의 다른 글

addEventListener 이벤트리스너 ('click' 사용해보기)  (0) 2024.03.03
alert박스와 function()함수 콜라보  (0) 2024.03.03
function 함수  (0) 2024.03.01
Alert 창 만들기  (0) 2024.03.01
Js - Selector  (0) 2024.03.01