강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của uiseok0514
uiseok0514

câu hỏi đã được viết

JavaScript cốt lõi

kiểu dữ liệu

함수를 값으로 할당할 때

Đã giải quyết

Viết

·

449

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

Câu trả lời 1

1

jaenam님의 프로필 이미지
jaenam
Người chia sẻ kiến thức

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

Hình ảnh hồ sơ của uiseok0514
uiseok0514

câu hỏi đã được viết

Đặt câu hỏi