• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

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

21.10.30 14:00 작성 조회수 223

0

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

1.

const func = () => {

return ()=> {

console.log("hello");

}; }; 

이렇게 함수를 선언하고 

2.

const innerFunc = func(); 

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

3.

innerFunc(); 

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

1 번 바로 뒤에

func();

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

 

 

 

 

답변 3

·

답변을 작성해보세요.

1

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

()=> {

console.log("hello");

};

입니다.

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

 

0

감사합니다.

0

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

그냥 func(); 했을 때 하고 

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

func()는 위에 적은 것이고

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