-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
고차함수 부분 질문있습니다!!
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()이렇게 했을 때 매개변수가 전달이 되지 않았는데도 에러가 발생하지 않은 이유가 궁금합니다
답변을 작성해보세요.
0
조현영
지식공유자2022.01.21
자바스크립트 에러는 해당 줄이 실행되면 에러가 발생하는 겁니다.
func()에서는 console.log(msg)가 실행이 안 되었으므로 에러가 있다 하더라도 에러가 발생하지 않습니다.
참고로 func()를 했을 때 console.log(msg)는 존재하는 겁니다. msg에 undefined를 전달하신 거고요. func()는 () => { console.log(undefined) }랑 마찬가지입니다.
아래 b에서 에러나는 이유는 msg라는 변수가 선언이 안 됐는데 사용해서 그렇습니다.
답변 1