필기시험을 볼 일이 있었다. 열심히 풀었으나 확인했더니 다 틀렸다! 하하하하하 😀 스코프와 호이스팅을 공부하는 시간을 가졌다! 콘솔에 출력되는 값은 무엇인가요? Q1. 답 : 에러 a를 출력하면 function이 나오고 b를 출력하면 undefined가 나온다. 그러므로 b를 호출하면 에러가 발생한다. 함수 b는 함수 선언식이 아니라 함수 표현식으로 선언되었으므로 호이스팅이 일어나지 않았다. 또한 var로 선언했으므로 a가 호출될 때 b함수가 할당되므로 에러가 난다. var a = function b() { return 10; }; console.log(typeof b()); // ReferenceError: b is not defined 이렇게 함수 선언식으로 함수를 선언하면 접근 가능하다. funct..
호이스팅 스코프 내부 어디서든 변수 선언은 최상위에 선언된 것 처럼 행동 var는 에러는 나지않고 undefined가 나옴 console.log(name); // undefined var name = Mike; let은 에러가 남 console.log(name); // ReferenceError let name = Mike; 이는 TDZ(Temporal Dead Zone) 때문 스코프의 시작 지점부터 초기화 시작 지점까지의 구간 초기화되지 않은 변수가 저장되는 곳 let은 TDZ의 영향을 받아 코드가 존재하는 위치 전에는 사용할 수 없음 코드를 예측 가능하게 하고 잠재적인 버그를 줄일 수 있음 console.log(name); // TDZ const name = 'Mike'; // 함수 선언 및 할당 c..
- Total
- Today
- Yesterday
- 깃
- 저스트코드
- 김버그
- 제이쿼리
- 리액트
- 코딩앙마
- html
- vscode
- map
- js
- javascript
- vue
- 제로초
- CSS
- 회고
- 비주얼스튜디오코드
- 드림코딩
- Typescript
- scss
- Python
- TS
- React
- 파이썬
- 코드잇
- git
- 스파르타코딩클럽
- Til
- 구름에듀
- 자바스크립트
- 타입스크립트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |