작성한 질문수
[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
함수 중복 제거하기(고차함수)
작성
·
318
0
책에 나와있는 내용인데요.
1.
const func = () => {
return ()=> {
console.log("hello");
}; };
이렇게 함수를 선언하고
2.
const innerFunc = func();
이렇게 함수를 변수에다 집어넣은 후
3.
innerFunc();
함수를 선언을 하면 콘솔창에 hello라고 제대로 뜨는데
1 번 바로 뒤에
func();
를 호출하면 왜 콘솔창에 hello가 안뜨는지 궁금합니다.
답변 3
1
func()는 리턴값으로 치환하면 됩니다. 그에 따라
()=> {
};
입니다.
이 함수를 다시 실행해야 콘솔에 핼로가 뜨는 겁니다.
감사합니다.
제로초님 그런데 혹시 저기서
그냥 func(); 했을 때 하고
func()(); 했을때 하고 차이점을 알려주실 수 있을까요?
func()는 위에 적은 것이고
func()()는 console.log('hello')입니다.
func()는 위에 적은 것이고
func()()는 console.log('hello')입니다.