강의

멘토링

로드맵

Inflearn Community Q&A

jognberman's profile image
jognberman

asked

[Renewal] ZeroCho's Introduction to JavaScript: Coding Self-Study

Remove duplicate functions (higher order functions)

두 코드의 차이점이 궁금합니다.

Written on

·

414

0

 책에 나와있는 내용인데요. 

1.

const func = () => {

return ()=> {

console.log("hello");

}; }; 

이렇게 함수를 선언하고 

2.

const innerFunc = func(); 

이렇게 함수를 변수에다 집어넣은 후 

3.

innerFunc(); 

함수를 선언을 하면 콘솔창에 hello라고 제대로 뜨는데 

1 번 바로 뒤에

func();

 를 호출하면 왜 콘솔창에 hello가 안뜨는지  궁금합니다. 

 

 

 

 

javascript

Answer 3

1

zerocho님의 프로필 이미지
zerocho
Instructor

func()는 리턴값으로 치환하면 됩니다. 그에 따라

()=> {

console.log("hello");

};

입니다.

이 함수를 다시 실행해야 콘솔에 핼로가 뜨는 겁니다.

 

0

jognberman님의 프로필 이미지
jognberman
Questioner

감사합니다.

0

jognberman님의 프로필 이미지
jognberman
Questioner

제로초님 그런데 혹시 저기서 

그냥 func(); 했을 때 하고 

func()(); 했을때 하고 차이점을 알려주실 수 있을까요?

zerocho님의 프로필 이미지
zerocho
Instructor

func()는 위에 적은 것이고

func()()는 console.log('hello')입니다.

jognberman's profile image
jognberman

asked

Ask a question