자바스크립트에서 느낌표(!)가 함수 앞에 오는 이유
느낌표(!
)의 기본 작동 원리
자바스크립트에서 느낌표(!
)는 주로 불리언 값을 부정할 때 사용됩니다. 즉, true
를 false
로, false
를 true
로 바꿉니다. 예를 들어, !true
는 false
가 됩니다.
함수 앞에 느낌표 사용의 목적
함수 앞에 느낌표(!
)를 붙이는 것은 자주 볼 수 있는 패턴이 아니지만, 특별한 목적으로 사용됩니다. 이는 주로 즉시 실행 함수 표현식(IIFE, Immediately Invoked Function Expression)에서 볼 수 있습니다. 느낌표를 함수 앞에 붙이면, 함수는 즉시 실행되고 그 결과가 부정됩니다.
예:
1
2
3
!function() {
console.log("Hello World");
}();
이 예시에서 Hello World
가 콘솔에 출력되고, 함수의 반환값(기본적으로 undefined
)이 부정되어 true
가 됩니다.
왜 이렇게 사용하는가?
코드 최적화: 느낌표를 사용하면, 자바스크립트 엔진은 즉시 함수를 실행합니다. 이 방법은 코드를 약간 더 빠르게 만듭니다.
명확성: 이러한 방법을 사용하면 개발자는 이 코드 블록이 IIFE임을 더 명확하게 표시할 수 있습니다.
스코프 제한: IIFE를 사용하면 변수가 전역 스코프에 노출되지 않습니다. 따라서 변수 충돌을 방지할 수 있습니다.
주의할 점
이 패턴은 자바스크립트 내에서 특별한 경우에만 사용되므로, 일반적인 상황에서는 굳이 사용할 필요가 없습니다. 또한, 이해하기 어려울 수 있으므로 코드의 가독성을 해칠 가능성이 있습니다.
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.