inflearn logo
강의

Course

Instructor

Core JavaScript

Data Type

함수를 값으로 할당할 때

Resolved

457

yus

8 asked

2

자바스크립트에서 함수는 표현식으로 변수에 할당할 수 있어서

값으로 평가 될 수 있다고 알고 있습니다.

 

강의에서 배열이나 객체에 대한 예시를 설명해 주셔서 이해를 했는데,

 

문득 함수의 경우는 어떻게 이루어지는지 궁금해 졌습니다.

 

const outerFunc = function (){
    let b = 1;
    let c = 2;
    const innerFunc = function(){
        console.log("inner function")
    }
}

예를들어 위와같이 있다고 할 때,

초기화 단계에서 outerFunc 변수가 생성되고 undefined로 초기화 된 후에,

  1. 리터럴로 선언된 함수가 그 자체로 들어있다가, 함수 호출 시에 (실행시에) 컨텍스트를 생성하며 함수 내부에 선언한 변수들이 생성, 주소 할당 등의 과정이 이루어지는지,

  2. 아니면 변수나 객체가 생성되는 것과 마찬가지로 내부에 있는 b, c 변수들이 메모리에 할당되고 주소값을 참조하는 과정까지 이루어 진 후, outerFunc 변수에 함수객체의 주소를 가리키도록 생성되는지

위 두가지 중 어떻게 동작하는지가 혼동됩니다..

javascript

Answer 1

1

jaenam

함수 자체를 하나의 '값'으로 평가합니다.
1번이 맞습니다.

인스턴스에서 prototype 프로퍼티에 직접 접근해야하는 이유

0

59

1

setTimeout 에서 this

0

81

1

2강부터 영상이 나오지 않습니다.

0

175

1

자바스크립트 주석에 이상한 점이 있어서 문의드립니다.

0

219

2

return 문 안에 여러 함수가 존재하는 것이 이해되지 않습니다.

1

259

1

클래스 static 멤버

1

253

1

실행컨텍스트와 스택프레임

2

567

1

프로토타입으로 상속할때 브릿지 사용 이유

0

320

1

호이스팅 관련 질문

1

335

1

책 66p. 예제 3-2 질문입니다.

0

356

1

강의 내용 10:58 캡슐화 질문입니다.

1

399

1

강의 내용 5:10 질문입니다.

1

422

2

전역 공간에서의 this

0

426

2

18:31 addEventListener의 this

1

480

1

outerEnvironmentReference 질문

1

372

1

실행 컨텍스트와 클로저에 대해 질문드립니다.

1

448

1

Object.prototype.constructor의 [[prototype]] ?

1

658

1

15:54 'ddd' 사라지는 오류?

4

375

1

프로토타입 getPrototypeOf(instance).constructor(n,a) 질문입니다.

1

405

1

기본형/가변형 질문입니당

0

333

0

선생님 그러면 섹션 0만 봐도 무방한가요!?

0

336

1

Hoisting과 environmentRecord에 관한 질문입니다.

1

292

1

안녕하세요, 데이터 변경 질문입니다.

0

329

1

선생님 class 상속파트에서 궁금한게 있습니다.

0

235

1