sintaxis - map javascript
FunciĆ³n inmediata utilizando las funciones de flecha de JavaScript ES6. (2)
¿Alguien sabe cómo escribir una función inmediata utilizando la sintaxis de flecha de ES6?
Aquí está la forma de hacerlo de ES3 / 5:
(function () {
//...
}());
He intentado lo siguiente, pero obtengo un error de unexpected token
en la última línea.
(() => {
//...
}());
Puede probar esto aquí: http://www.es6fiddle.net/hsb8bgu4/
De los ejemplos de funciones de flecha ,
(() => "foobar")() // returns "foobar"
Por lo tanto, el operador de invocación de la función debe estar fuera.
(() => {
//...
})();
Ejemplo: http://www.es6fiddle.net/hsb8s1sj/
¡Aquí están mis códigos de demostración!
Siempre recuerda 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!`);
})();
Expresión de función invocada de inmediato
let x;
(x = () => {
console.log(`ES6 ${typeof(x)}`);
})();
// ES6 function
// OR
(() => {
console.log(`ES6 ${typeof(Symbol)}`);
})();
// ES6 function