🤍 전 강의 25% 할인 중 🤍

2024년 상반기를 돌아보고 하반기에도 함께 성장해요!
인프런이 준비한 25% 할인 받으러 가기 >>

  • 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

고차함수 부분 질문있습니다!!

22.01.21 11:20 작성 조회수 145

0

항상 좋은 강의 해주셔서 감사합니다.
교재 217p에서 func() 함수와 innerFunc3() 여기서요! 다른 부분은 다 이해가 가는데

 

const innerFunc3 = func()에서 func에서는 매개변수가 필요한데 매개변수가 전달이 안된거고,
func()는 () => { console.log(msg) }라고 이해했습니다.
예제를 실행해보면 innerFunc3() 은 undefinde가 잘 나오는데

제가 추가적인 예시를 한번 만들어봤습니다.

const a = () => { console.log(msg)}이렇게 하고 a()는 에러가 나더라고요..
교재 예제에서는 func()이렇게 했을 때 매개변수가 전달이 되지 않았는데도 에러가 발생하지 않은 이유가 궁금합니다

답변 1

답변을 작성해보세요.

0

자바스크립트 에러는 해당 줄이 실행되면 에러가 발생하는 겁니다.

func()에서는 console.log(msg)가 실행이 안 되었으므로 에러가 있다 하더라도 에러가 발생하지 않습니다.

참고로 func()를 했을 때 console.log(msg)는 존재하는 겁니다. msg에 undefined를 전달하신 거고요. func()는 () => { console.log(undefined) }랑 마찬가지입니다.

아래 b에서 에러나는 이유는 msg라는 변수가 선언이 안 됐는데 사용해서 그렇습니다.

 

Donte님의 프로필

Donte

질문자

2022.01.21

항상 빠르고 친절한 답변 너무 감사합니다

채널톡 아이콘