Подтвердить что ты не робот

Немедленная функция с использованием функций JavaScript ES6 arrow

Кто-нибудь знает, как написать немедленную функцию, используя синтаксис стрелок ES6?

Вот пример ES3/5:

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

Я пробовал следующее, но получаю ошибку unexpected token в последней строке.

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

Вы можете проверить это здесь: http://www.es6fiddle.net/hsb8bgu4/

4b9b3361

Ответ 2

Вот мои демо-коды!

Всегда помните, что function_name + () === function_caller

/* ES5 */

// normal function

function abc(){
    console.log(`Hello, ES5 function!`);
}
abc();

var abc = function xyz(){
    console.log(`Hello, ES5 function!`);
};
abc();

// named function

var abc = function xyz(){
    console.log(`Hello, ES5 function!`);
}();


// anonymous function
// 1
(function(){
    console.log(`Hello, ES5 IIFE!`);
})();

// 2
(function(){
    console.log(`Hello, ES5 IIFE!`);
}());

// 3

var abc = function(){
    console.log(`Hello, ES5 function!`);
}();


/* ES6 */

// named arrow function
const xyz = () => {
    console.log(`Hello, ES6 Arrow Function!`);
};
xyz();


const xyz = (() => {
    console.log(`Hello, ES6 Arrow Function!`);
})();


// Uncaught SyntaxError: Unexpected token (

/*
const xyz = (() => {
    console.log(`Hello, ES6 Arrow Function!`);
}());
*/

// anonymous arrow function
(() => {
    console.log(`Hello, ES6 Arrow Function!`);
})();