함수 정의와 동시에 즉시 호출되는 함수, 일반적인 경우 단 한번만 호출된다.
useEffect(()=>{
(async()=>{
await fetch('https://api.coinpaprika.com/v1/coins')
})();
},[])
이렇게하면 useEffect에서 따로 함수 선언 할 필요없이 async를 사용 할 수 있다.
또 다른 예로는 쌩자바스크립트 즉시실행함수 예제인데, 살펴보자.
// 1
(function(){
...
}());
// 2
(
function () {
...
}
)();
// 3
!function() {
...
}();
// 4
+function () {
...
}();
주로 1번 방식이 자주 쓰인다.
즉시 실행 함수도 일반 함수처럼 값을 반환할 수 있고, 인수를 전달할 수도 있다.
// 즉시 실행 함수도 일반 함수처럼 값을 반환할 수 있다.
var res=(function(){
var a= 3;
bar b= 5;
return a * b;
}());
console.log(res); // 15
// 즉시 실행 함수에도 일반 함수처럼 인수를 전달할 수 있다.
res = (function(a,b){
return a * b;
}(3,5));
console.log(res); // 15