JavaScript: Understanding the Weird Parts - IIFE

4295 ワード


IIFEとは?


Immedially Invoked Functions Expression
翻訳するとすぐに実行される関数式といえます

これはどうして動作と役に立つことができますか?


既存の関数コード

// Function Statement
function greetings(name) {
  console.log('Hello ' + name);
}
greetings('Jiho');
// using a Function Expression
const greetFunc = function(name) {
  console.log('Hello ' + name);
}
greetFunc('Jiho');
Hello Jiho
Hello Jiho
関数オブジェクトのプロパティにはコードプロファイルがあります.これは、呼び出すことができることを意味します.

IIFE

// using IIFE
const greeting = function(name) {
  return 'Hello ' + name;
}('Jiho');
console.log(greeting)
Hello Jiho

かっこの中はExpression


構文解析では、カッコ内の要素をExpressionとして解釈します.
(function(name) {
  const greeting = 'Hello';
  console.log(greeting + ' ' + name);
})
Statementではありません.エラーはありません.