목차"Immediately Invoked Function Expression"의 줄임말로, 정의되자마자 즉시 실행되는 함수 표현식을 말한다.
두 함수는 모두 동일한 로직을 가지고 있다. IIFE는 전체 익명함수를 괄호로 감싸줌으로써 내부 코드가 선언문이 아니라 표현식인 것처럼 Parser를 속인다. 익명함수이기 때문에 재사용은 적합하지 않다! 물론 기명으로도 가능은 하다. 하지만 보통 함수에게 이름을 짓는 것은 호출이 목적인 경우가 대부분인데, 한번 자동으로 실행된 이후 생명을 다하는 IIFE에게 이름을 지어주는 것은 의미가 없다. 어찌되었든 IIFE를 익명으로써야하는지, 기명으로 써야하는지에 대해서는 개발자들 사이에서도 의견이 갈리는 것 같다. 즉시실행 함수 표현식 종류
즉시실행함수를 쓰는 이유 1. 클로저 구현할때
2. async / await 비동기 처리를 바로 사용할때
즉시실행함수 주의할점보통 자바스크립트에서 세미콜론(;) 을 생략해도 문제없다. 하지만 즉시실행 함수를 사용하려고 할때 세미콜론을 붙이지 않으면 에러가 뜬다. Reference http://milooy.github.io/TIL/JavaScript/javascript-run-function.html#%E1%84%8C%E1%85%B3%E1%86%A8%E1%84%89%E1%85%B5%E1%84%89%E1%85%B5%E1%86%AF%E1%84%92%E1%85%A2%E1%86%BC%E1%84%92%E1%85%A1%E1%86%B7%E1%84%89%E1%85%AE https://velog.io/@grinding_hannah/JavaScript-IIFE-%EC%A6%89%EC%8B%9C-%EC%8B%A4%ED%96%89-%ED%95%A8%EC%88%98%ED%91%9C%ED%98%84%EC%8B%9D-%EC%95%8C%EC%95%84%EB%B3%B4%EA%B8%B0 잘못된 내용이 있으면 댓글로 피드백 부탁드립니다 :) 이 글이 좋으셨다면 구독 & 좋아요 여러분의 구독과 좋아요는 또한 async function statement을 사용하여 async 함수를 정의할 수 있습니다.
ES2015에서와 같이 arrow functions를 사용해도 됩니다. 인수
함수 이름. 생략가능하며 이경우함수는 anonymous 형식임 이름은 함수 몸체에 대해 지역적으로 사용. paramN 함수에 전달될 인수의 이름. statements 함수 몸체를 구성하는 명령문들. 설명
ExamplesSimple example
Specifications
Browser compatibilityBCD tables only load in the browser See also |