반응형
익명 즉시 실행 함수
(function () {
var a = 3;
var b = 5;
retrun a * b;
}());
//함수 선언 소스 전치를 괄호로묶어서 전치되어이 있는 형태인 것입니다.
//소스가 뒤에 있으므로 뒤에 세미콜론이 붙은 경우입니다.
기명 즉시 실행 함수
(function(){
var a = 3;
var b = 5;
return a * b;
}());
foo; // ReferenceError : foo is not defined
⇒ 즉시실행함수는 함수 이름이 없는 익명 함수를 사용하는 것이 일반적입니다.
즉시 실행함수도 일반 함수처럼 값을 반환할 수 있고 인수를 전달할 수도 있습니다.
//즉시 실행 함수도 일반 함수처럼 값을 반환할 수 있다.
var res = (function () {
var a = 3;
var b = 5;
return a * b;
}());
console.log(res); //15
//즉시 실행 함수에도 일반 함수처럼 인수를 전달할 수 있다.
res = (function(a,b){
return a * b;
}(3, 5));
console.log(res); //15
즉시실행함수는 반드시 그룹 연산자 (…) 로 감싸야 합니다.
그렇지 않으면 다음과 같은 에러가 발생합니다.
function() { ..//syntaxError: Function statements require a function name ..//
}();
즉시실행함수를 사용하려는 이유가 뭘까요??
;(function () {
'use strict'
...
...
init()
})()
//세미콜론이 앞에 붙은 경우입니다.
'Tilog' 카테고리의 다른 글
JSX 구성 요소로 사용할 수 없습니다, 해당 반환 형식은 void 로 유효한 JSX 형식이 아닙니다 (0) | 2022.12.07 |
---|---|
TIL (2022. 12. 06) (0) | 2022.12.06 |
remove untracked files, stash or commit any changes, and try again. [오류해결] (0) | 2022.08.15 |
Vercel에서 연결된 레포지토리 삭제하는법 (0) | 2022.08.09 |
React_Cunstom_Hooks 적용_(1)react.lazy와 Suspense (0) | 2022.07.31 |