Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 데이터베이스
- ORM
- IT
- Newtonsoft.Json
- springboot
- SQL Server
- .NET 8.0
- ERROR_MESSAGE
- 자바
- cors
- OUT 파라미터
- MSSQL
- 프로시저
- SSMS
- 스프링부트
- git
- jpa
- github
- C#
- Exception in thread "main" java.lang.Error
- SQL Server 구성 관리자
- 스프링 시큐리티
- java
- JavaScript
- SOP
- System.Text.Json
- RAISERRR
- 권한
- DB
- IT story
Archives
- Today
- Total
its_jh_stroy
[JS] 호이스팅과 TDZ 본문
호이스팅
스코프 안에 있는 선언들을 스코프 최상단으로 끌어올리는 특성이다.
자바스크립트는 변수, 함수, 클래스 모두에 대해 호이스팅이 발생한다.
하지만 TDZ라는 것에 의해 조금씩 다르게 동작한다.
TDZ(Temporal Dead Zone)
선언 전에 사용하는 것을 허용하지 않는 공간이다.
let, cosnt 변수와 클래스는 TDZ를 가지는데, 코드 시작점부터 최초 선언된 부분까지가 TDZ라고 보면 된다.
따라서 TDZ를 가진다는 것은, 호이스팅은 발생하지만 선언된 자리보다 먼저 사용할 수 없다는 것을 의미한다.
// ex 1)
console.log(str)
let str = 'a'
// const 선언도 동일한 결과
// Uncaught ReferenceError: Cannot access 'str' before initialization
// ex 1)
var p = new Person()
class Person { }
console.log(p)
// Uncaught ReferenceError: Cannot access 'Person' before initialization
'Javascript' 카테고리의 다른 글
[JS] tinyMCE 적용하기 (0) | 2024.04.10 |
---|---|
[JS] 여러 가지 변수 - var, let, const (0) | 2024.02.14 |