몽땅뚝딱 개발자

[Javascript] 스코프 바인딩(Scope Binding) 본문

Development/Javascript

[Javascript] 스코프 바인딩(Scope Binding)

레오나르도 다빈츠 2021. 7. 7. 21:07

출처

 

자바스크립트 중고급: 근본 핵심 이해 - 인프런 | 강의

4개 강좌로 구성된 자바스크립트 바이블 강좌의 2번째 강좌입니다. 자바스크립트 엔진 이해를 통해 자바스크립트에 최적화된 프로그램을 개발할 수 있습니다. 자신 있게 시스템을 설계할 수 있

www.inflearn.com

 

 


 

🚀 스코프 바인딩(Scope Binding)

한번 더 보기!! 예제코드의 바인딩&실행순서와 함수 초기화 3단계 과정 자세히 보기 :)

 

 

 바인딩이란?

구조적으로 결속된 상태로 만드는 것을 바인딩(binding)이라고 한다.

대상은 바뀔 수 있는 '값'이 아니라, 프로퍼티의 '이름'이다.

 

 

바인딩의 목적

스코프를 설정하고 식별자를 해결하는 것이다.

 

 

 바인딩의 종류

1) 정적 바인딩(Lecival, Static binding)

자바스크립트는 대부분 정적 바인딩을 한다.

함수가 호출되는 초기화 단계에서 함수 선언문 이름, 표현식 이름을 바인딩한다.

 

2) 동적 바인딩(Dynamic binding)

실행할 때 바인딩 하는 것으로, eval() 함수와 with문이 있다.

- eval(): 파라미터에 작성된 문자열을 parsing, 해석 한 후 실행할 때 마다 바인딩

- with문: 반복할 때 마다 바인딩

 

 

 바인딩 시점의 중요성

- 바인딩 할 때 스코프가 결정되기 때문에 바인딩 시점이 중요하다.

- 스코프를 Function Object의 [[scope]]에 설정하는데, 이는 변경되지 않는 정적 스코프이다.

Comments