Est-ce que quelqu'un sait comment écrire une fonction immédiate à l'aide de la syntaxe de flèche ES6?
Voici la manière ES3 / 5 de le faire:
(function () { //... }());
J'ai essayé ce qui suit, mais obtenez une erreur de unexpected token
sur la dernière ligne.
(() => { //... }());
Vous pouvez tester ceci ici: http://www.es6fiddle.net/hsb8bgu4/
Des exemples de fonctions fléchées ,
(() => "foobar")() // returns "foobar"
Ainsi, l'opérateur de l'invocation de la fonction devrait être à l'extérieur.
(() => { //... })();
Exemple: http://www.es6fiddle.net/hsb8s1sj/
Voici mes codes de démonstration!
Rappelez-vous toujours que
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!`); })();