Diferencias entre metodos concisos y funciones normales

node v10.24.1
version: 1.0.3
endpointsharetweet
const obj1 = { // Sintaxis de metodo conciso (ES6) metodo() { // diferencia1: se puede accesar a super console.log(super.toString === Object.prototype.toString) } }; const obj2 = { metodo: function () { } }; // diferencia 2: el sintaxis conciso crea una funcion con nombre por defecto // equivalente a ( { metodo: function metodo() {} } ) console.log(obj1.metodo.name); // "metodo" console.log(obj2.metodo.name); // undefined // diferencia 3: las funciones que resultan de la declaracion de un metodo conciso // no son "construibles" ( no se pueden usar con el operador `new` ) try { new obj1.metodo() } catch (error) { console.log(error); // TypeError: obj1.metodo is not a constructor } console.log(new obj2.metodo()) // no hay error
Loading…

no comments

    sign in to comment