inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

자바스크립트 중고급: 엔진 핵심

3. 클로저(Closure) 논리, 클로저 논리 전개, [정리 시간]

정리했봤습니다. 다른 분이 질문한 내용이 많은 도움이 됐습니다!

202

통붕이

작성한 질문수 4

2

1. book Function 오브젝트가 생성 → [[scope]] 는 글로벌 오브젝트를 바인딩(= 외부 렉시컬 환경 참조에 연결)

2. book(200) 호출

3. 호출 파라미터 bookParam 는 book 의 선언적환경레코드에 연결 { bookParam: 200 }

4. getPoint Functon 오브젝트가 생성 → [[scope]] 는 book Function 오브젝트를 바인딩

5. point 할당 및 실행 으로 book 의 선언적 환경레코드는 {bookParam : 200, point: 100} 

6. 또한 getPoint 의 외부 렉시컬 환경 참조 : { bookParam : 200, point : 100 } 형태가 된다.

// book(200) 호출되고 리턴 후 
// book Function 오브젝트 형태
렉시컬환경컴포넌트 = {
    환경 레코드 : {
        선언적 환경 레코드 : { bookParam: 200, point: 100 }
    }
    외부 렉시컬 환경 : {
    // 글로벌 오브젝트
    }
}

.

1. getPoint Function 오브젝트를 리턴 obj 에 할당

2. obj(400) → book.getPoint(400) 호출

3. 호출 파라미터 pointParam 은 400 을 getPoint 의 선언적환경레코드에 연결 {pointParam : 400}

// obj(400) 호출 된 이후의
// getPoint Function 오브젝트 형태
렉시컬환경컴포넌트 = {
    환경 레코드 : {
        선언적 환경 레코드 : { pointParam: 400 }
    }
    외부 렉시컬 환경 : {
        bookParam: 200,
        point: 100
    }
}

.

1. point 는 선언적환경레코드에 없으므로 [[scope]]를 연결한 외부 렉시컬 환경 참조에 연결된 point : 100 값을 의미한다.

2. bookParam 은 선언적환경레코드에 없으므로 [[scope]]를 연결한 외부 렉시컬 환경 참조에 연결된 bookParam : 200 값을 의미한다.

3. point = 100 + 200 + 400 으로 point 에는 700 값이 들어가고 리턴하고 출력한다.

javascript

답변 1

1

김영보

좋습니다. 짝짝~

getBook 실습 예제중 질문드립니다!

0

419

1

__proto__ 에 대해 질문드립니다

0

315

1

호이스팅 코딩시간 풀이

0

358

1

[코딩 시간] JS {name: value} 이해

0

340

1

[[Scope]] 와 [[Environment]]는 같은 개념인가요

0

345

0

slice

0

239

0

스코프가 뭔가요?

0

307

0

어려워요

0

255

0

강사님 변수이름에 get을 붙이는 이유를 알고싶습니다.

0

339

1

[정리 시간] 정확하게 이해했는지 확인 부탁드립니다.

0

300

0

스코프 질문

0

253

1

fn 함수와 book.get 함수 차이 질문드립니다...ㅠㅠㅠ

1

542

1

this binding 논리 질문입니다.

0

279

1

파라미터 값을 매핑할 때

0

251

0

ES6부터는 this 바인딩을 환경 레코드에서 참조한다고 들었습니다.

0

209

0

정리시간 입니다.

0

228

0

정리시간입니다.

6

269

0

정리 시간 입니다.

0

202

0

정리시간입니다.

6

227

0

코딩시간 입니다.

1

222

0

선생님 스코프 질문이 있습니다.

1

240

0

[정리시간] 해보았습니다!

0

175

0

선생님 질문있습니다!!

0

159

0

질문드려도 될까요 선생님..

0

217

0