바인딩
- 구조적으로 결속된 상태로 만드는 것
- 대상 : 오브젝트와 프로퍼티 이름
get = {
qty: value,
price: value
}
바인딩 목적
- 스코프 결정
- 오브젝트에서 이름 식별
바인딩 시점
정적 바인딩(Lexical Binding)
- 초기화 단계에서 바인딩
- 변수, 함수 표현식에 초기값 설정 : undefined
- 함수선언문 : Function 오브젝트 생성
- 대부분의 함수가 정적 바인딩
동적 바인딩(Dynamic Binding) : 사용 권장하지 않음(보안문제,엔진부하 등)
- 실행 단계에서 바인딩
- eval 함수, with 문(for-in문으로 대체하여 사용 권장)
바인딩 시점이 중요한 이유
- 바인딩할 때 스코프가 결정되기 때문
- 정적 바인딩은 [[Scope]]
'Web > Javascript' 카테고리의 다른 글
실행 콘텍스트 (0) | 2017.03.14 |
---|---|
클로저(closure) (0) | 2017.03.14 |
글로벌 오브젝트 (0) | 2017.03.14 |
스코프(Scope) (0) | 2017.03.14 |
Arguments 오브젝트 (0) | 2017.03.13 |