해결된 질문
20.10.27 12:50 작성
·
191
0
에로우 스코프는 함수선언문처럼은 못하나요?
보면 함수표현식처럼
if(true){
d() // Uncaught TypeError: d is not a function
var d = () => {
console.log( true )
}
}
d() //true
이렇게 할당하는데 이렇게 하면은 이렇게 나오는데
함수표현식이여서 전역컨텍스트에 var d; 만 선언되고
함수는 할당이 안되서 에러가 나오는데
'use strict'
if (true) {
a() //true
function a () { console.log(true) }
}
이렇게 블록스코프에 같인 함수선언문은
true가 나오는데
왜 arrow function 쓰라는지 조금만 더 설명 부탁드려도 될까요
답변 1
2
2020. 10. 27. 15:10
함수선언문 vs. 함수표현식 관련한 내용은 JSFlow 강의에서 한 챕터를 들여 다루고 있습니다.
https://www.inflearn.com/course/%ED%95%B5%EC%8B%AC%EA%B0%9C%EB%85%90-javascript-flow/lecture/9447?tab=curriculum
애로우함수는 함수선언문 방식으로 선언할 수 없습니다. 원래부터 그렇게 만들어졌습니다.