2
나는 const
을 좋아하고 switch
문을 좋아한다.이 IIFE 스위치 문으로 인해 불필요한 오버 헤드가 발생합니까?
참고 : 다음은 단순화 된 예입니다. 각 경우의 코드는 다소 복잡하고 반환 된 객체는 JSX 구성 요소입니다.
이를 생각해 내 consts를 사용하려면
let retval // can't declare as const!
switch (value) {
case 'a':
retval = 'aa'
break
case 'b':
retval = 'bb'
break
case 'c':
retval = 'cc'
break
case 'd':
retval = 'dd'
break
default:
retval = 'xx'
}
// mistakenly by purpose change retval here..
retval = function nope(){ return null }
을하지만 마십시오 이 비교 :
const retval = (() => {
switch (value) {
case 'a':
return 'aa'
case 'b':
return 'bb'
case 'c':
return 'cc'
case 'd':
return 'dd'
default:
return 'xe'
}
})()
retval = null // nope you are safe here!, raises error
은 불필요한 오버 헤드를 일으키는 원인이되어 있습니까? ... 또는 엔진이 그것을 활용할 것인가?
은 내용에 따라 다릅니다. if가 함수라면, 원하는 것만 실행될 수 있습니다. –
사실 이러한 경우에 함수를 사용하기 때문에이 방법이 정말 멋지다! 답을 적어주세요. +1 할 수 있습니다. 어쨌든 나는 아직도이 두 가지 질문에 대해 한 마디의 말을 듣고 싶다.이 접근법과 일반적인 '전환'의 차이, 특히 처리 속도, 유효성 및 자원 측면에서이 점을 고려해 보라. – Qwerty