Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

24-2장 클로저 - 고세종 #1010

Closed
wants to merge 3 commits into from
Closed

24-2장 클로저 - 고세종 #1010

wants to merge 3 commits into from

Conversation

SebellKo
Copy link
Contributor

@SebellKo SebellKo commented Dec 18, 2023

Q1. 출력되는 값을 적어주세요

A1 : 1, 2


Q2. 외부 함수 밖에서 내부 함수가 호출 되더라도 외부 함수의 지역 변수에 접근할 수 있는 이유를 설명해 주세요.

A2 :

첫번째로 함수는 호출되는 위치가 아닌 정의되는 위치에 의해서 렉시컬 환경이 생성 됩니다.

두번째로 내부 함수의 렉시컬 환경이 만들어 지면서 함수의 내부 슬롯인 [[Environment]]에는 외부 함수의 렉시컬 환경이 저장 되는데, 자바스크립트는 이 저장된 렉시컬 환경을 이용해 내부 함수의 외부 렉시컬 환경 참조에 외부 함수의 렉시컬 환경을 연결 시키고, 외부 함수와 내부 함수의 스코프 체인을 생성합니다.

세번째로 함수의 종료와 같이 실행 컨텍스트는 소멸 되지만, 실행 컨텍스트와 같이 생성된 스코프는 다른곳에서 참조하고 있을경우 소멸되지 않습니다.

위 세가지 이유로 내부 함수가 외부함수의 지역변수를 참조하고 있기에 외부 함수의 렉시컬 환경이 소멸 되지 않으며, 스코프 체인에 의해서 참조 가능합니다.


Q2. 빈칸을 채워주세요.

A3 :

객체의 상태를 나타내는 프로퍼티와 프로퍼티를 참조하고 조작할 수 있는 동작인 메서드를 하나로 묶는 것을 [캡슐화] 라고 한다.
이때, [캡슐화] 는 객체의 특정 프로퍼티나 메서드를 감출 목적으로 사용하기도 하는데 이를 [정보 은닉] 라고 한다.

Quiz3 : #1004

@SebellKo SebellKo closed this Dec 18, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant