본문 바로가기

Web/Javascript

바인딩(Binding)

바인딩

- 구조적으로 결속된 상태로 만드는 것

- 대상 : 오브젝트와 프로퍼티 이름

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