변수, 호이스팅, 클로저
- 📕 Programing/Javascript
- 2023. 8. 28. 21:55
- 자바스크립트는 동적언어이다.
- 타입은 프로그램이 처리되는 과정에서자동으로 파악한다.
⚡ let, const 사용하는 이유
ES6 이후로 var 대신 되도록 const, let을 사용해야 한다. 그 이유는 var의 변수 호이스팅과 function-level-scope로 생기는 문제 때문이다.
1. 호이스팅(Hoisting) 이란?
console.log(puppy);
var puppy ="cute";
console.log(puppy)
//결과
undefined
cute
- puppy변수를 아직 선언하지 않은 상태에서 호출했는데 오류가 나지 않고 undefined라는 값을 반환한다. 이런 현상을 "호이스팅"이라고 한다.
- 변수 호이스팅(Hoisting)은 변수의 선언과 초기화가 동시에 이루어져, 아직 값이 없음에도 오류가 나지 않는 현상을 말한다.
- 근데 let, const를 사용하면 변수를 중복으로 선언할 수 없어 변수 호이스팅 문제를 해결할 수 있다.
2. function-level-scope란?
- 함수의 블록 범위 내에서 선언한 변수는 함수 내에서만 인정하고 함수 외부에서 선언한 변수는 모두 전역변수가 된다는 뜻입니다.
var puppy = "cute"; console.log(puppy); // cute { var puppy = "so cute"; } console.log(puppy); // so cute
'📕 Programing > Javascript' 카테고리의 다른 글
클로저(closure) (0) | 2023.08.29 |
---|---|
[Javascript] fetch 활용 (0) | 2023.04.09 |
[Javascript] 스타일 변경 (0) | 2023.04.08 |
[Javascript - 이론] 프로미스 / 프로미스 체이닝 (0) | 2023.04.08 |
[Javascript] Date 현재 날짜 출력 (yyyy-mm-dd) (0) | 2023.03.12 |