IIFEでグローバルスコープを守ろう
まずその意味不明な名前は何
IIFEとは、
これを使用することで
書き方
定義する
// function もしくは
(function () {
/* 処理... */
})();
// アロー関数
(() => {
/* 処理... */
})();
// asyncも可能
(async function () {
/* 非同期処理... */
})();
(async () => {
/* 非同期処理... */
})();
functionと
例
基本的な使い方は、
// ここで宣言した変数は
let x = 1;
(() => {
// ここでは使える
console.log(x); // 1
// ここで宣言した変数は
let y = 2;
})();
// ここでは使えない
console.log(y); // y is not defined
for文や
引数を渡す
((x) => {
console.log(x); // 123
})(123);
正直
このIIFEは
戻り値
let x = (() => {
return 1 + 2;
})();
console.log(x); // 3
あとがき
これを
特に、
シンプルながら、
もっと詳しく知りたいなら => MDN Web Docs