Immediate function using JavaScript ES6 arrow functions

后端 未结 2 1292
花落未央
花落未央 2020-11-30 00:58

Does anyone know how to write an immediate function using ES6 arrow syntax?

Here\'s the ES3/5 way of doing it:

(function () {
   //...
}());
<         


        
2条回答
  •  没有蜡笔的小新
    2020-11-30 01:44

    Here is my demo codes!

    Always remember that function_name+() === function_caller

    /* ES5 */
    
    // normal function
    
    function abc(){
        console.log(`Hello, ES5's function!`);
    }
    abc();
    
    var abc = function xyz(){
        console.log(`Hello, ES5's function!`);
    };
    abc();
    
    // named function
    
    var abc = function xyz(){
        console.log(`Hello, ES5's function!`);
    }();
    
    
    // anonymous function
    // 1
    (function(){
        console.log(`Hello, ES5's IIFE!`);
    })();
    
    // 2
    (function(){
        console.log(`Hello, ES5's IIFE!`);
    }());
    
    // 3
    
    var abc = function(){
        console.log(`Hello, ES5's function!`);
    }();
    
    
    /* ES6 */
    
    // named arrow function
    const xyz = () => {
        console.log(`Hello, ES6's Arrow Function!`);
    };
    xyz();
    
    
    const xyz = (() => {
        console.log(`Hello, ES6's Arrow Function!`);
    })();
    
    
    // Uncaught SyntaxError: Unexpected token (
    
    /*
    const xyz = (() => {
        console.log(`Hello, ES6's Arrow Function!`);
    }());
    */
    
    // anonymous arrow function
    (() => {
        console.log(`Hello, ES6's Arrow Function!`);
    })();

    Immediately-invoked function expression

    let x;
    
    (x = () => {
      console.log(`ES6 ${typeof(x)}`);
    })();
    
    // ES6 function
    
    // OR
    
    (() => {
      console.log(`ES6 ${typeof(Symbol)}`);
    })();
    
    // ES6 function

提交回复
热议问题