Immediate function using JavaScript ES6 arrow functions

后端 未结 2 1269
花落未央
花落未央 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

    0 讨论(0)
  • 2020-11-30 01:52

    From the Arrow functions examples,

    (() => "foobar")() // returns "foobar" 
    

    So, the function invocation operator should be outside.

    (() => {
      //...
    })();
    

    Sample: http://www.es6fiddle.net/hsb8s1sj/

    0 讨论(0)
提交回复
热议问题