self-invoking의 예
(function(v) { return v + 2; })(1);
3
(function(v) { return v + 2; }(1));
3
((v) => { return v + 2; })(1);
3
((v) => v + 2)(1);
3
결과는 같다.
주의. 익명함수를 연속정의하면 오류가 발생하므로, 함수앞에 ";" 붙여주면 좋다.
;(function(v) { return v + 2; })(1);
3
또 함수를 감싸서 평가하는 ()를 사용하지 않고 함수앞에 "!"기호 붙여 자기호출을 할 수도 있다. 물론 결과는 true가 return되나 의미는 없다.
!function(v) { console.log(`결과 : ${2 + v}`) }(1);
결과 : 3
true