JavaScript에서 IIFE는 무엇입니까?
const func1 = function(){
console.log('this function will never run again!`)
}
func1();
그러나 우리가 원한다면 이 func1()을 다시 호출할 수 있습니다. 이것은 우리가 원하는 것이 아닙니다. 어딘가에 저장할 필요 없이 즉시 함수를 실행하고 싶습니다.
그래서 이것이 우리가 하는 방법입니다.
변수에 할당하지 않고 단순히 함수 표현식 자체를 작성합니다.
function(){
console.log('This function will never run again')
}
이것을 실행하면 JavaScript가 함수 명령문을 예상하기 때문에 함수 명령문에 함수 이름이 필요하다는 오류가 발생하지만 function 키워드로 새 코드 줄을 시작하기만 하면 됩니다.
여기서 우리는 이것이 단지 표현식이라고 생각하도록 JavaScript를 속일 수 있습니다. 이 모든 것을 GROUPING OPERATOR()로 간단히 래핑하면 됩니다.
(function(){
console.log('This is will never run again!')
});
그래서 우리는 기본적으로 이전 문장을 표현식으로 변환합니다. 그러나 함수는 아직 실행되지 않았습니다. 함수를 실행하려면 다음과 같이 호출해야 합니다(일반 함수 호출에서와 같이 옆에 '()' 추가).
(function(){
console.log('This is will never run again!')
})();
그래서 우리는 함수 표현식을 만들고 즉시 그것을 호출합니다. 이것이 바로 이 패턴을 IIFE(Immediate Invoked Function Expression)라고 하는 이유입니다.
이런 식으로 화살표 기능도 마찬가지입니다.
(() => console.log('This function will never run again!'))();
이 또한 다시는 실행되지 않습니다.
따라서 이것은 실제로 JavaScript의 기능이 아닙니다.
일부 개발자가 제안하고 널리 사용되는 패턴에 가깝습니다.
이 디자인 패턴은 자체 실행 익명 기능이라고도 합니다.
자체 실행 -> 생성되는 순간 실행됩니다.
익명 -> 이름이 없고 저장 변수가 아닙니다.
Reference
이 문제에 관하여(JavaScript에서 IIFE는 무엇입니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/ikamran/what-is-iife-in-javascript--45p0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)