바인딩(Binding)에 대해 알아보기 (자바스크립트 위주)
책 읽다 '바인딩'이란 단어를 보고 정확한 정의를 모르겠어서 정리함
바인딩(Binding)에 대해 알아보기 (자바스크립트 위주)
바인딩
‘바인딩’이란 프로그램을 구성하는 어떤 구성 요소의 실제 값 또는 프로퍼티를 결정짓는 행위를 말한다.
자바스크립트에서 많이 사용되는 개념인 this
바인딩 역시 this
특정 객체 또는 값을 가리키도록 하는 행위를 말한다.
바인딩에는 정적 바인딩과 동적 바인딩이 있다.
정적 바인딩
정적 바인딩은 바인딩이 코드 실행 전 컴파일 단계에서 이루어지는 것을 말한다.
자바스크립트는 추후 설명할 동적 바인딩을 주요 특징으로 내세우기 때문에 정적 바인딩을 하는 경우가 드물다.
대표적으로 ES6에서 import
문을 통해 모듈을 임포트하는 경우, 가져온 모듈의 함수, 변수 등을 정적 바인딩 한다.
동적 바인딩
동적 바인딩은 바인딩이 런타임 도중에 이루어지는 것을 말한다.
자바스크립트에서 대부분의 바인딩은 동적 바인딩으로 이루어진다. 대표 예시는 다음과 같다.
- 함수 리터럴, 함수 표현식으로 정의된 함수 내에서
this
가 가리키는 값은 함수가 언제 호출되었는지에 따라 결정됨 - 자바스크립트에서 변수를 선언했을 때, 변수 선언문에 도달해야 실제값 할당이 이루어짐
This post is licensed under CC BY 4.0 by the author.