IIFE는 정의와 동시에 즉시 실행되는 함수를 의미합니다
IIFE 선언과 동시에 호출되고 반환되기 때문에 재사용 할 수 없습니다.
IIFE의 사용 이유는 아래와 같습니다.
private한 변수 만들기
필요없는 전역 변수(함수) 생성 방지
// 다음과 같은 선언+초기화 과정은, 외부에서 접근 가능함
const number = [1,2,3,4];
console.log(number);
// 해당 함수 실행 후, number2를 브라우저에서 찾으려 하면 정의되지 않았다고 출력됨
// 외부에서 접근 불가능한 자체적 스코프를 가진다는 의미
(function(){
const number2 = [1,2,3,4];
console.log(number2);
})();