Cosas que vas a echar en falta si vuelves a JS

Las funciones flecha

Porque manejar callbacks (sobretodo en llamadas basadas en promesas como fetch) escribiendo function por cada uno de los handlers que vayas a usar es ilegible.

fetch('/my-endpoint')  
    .then(function (response) { return response.text(); })
    .then(function (text) { console.log(text); });

vs

fetch('/my-endpoint')  
    .then(response => response.text())
    .then(text => console.log(text));

Absolutelly barbaric

El operador "spread" (los tres puntitos)

Vale que no ganas demasiado en líneas netas, pero mira que limpio y chulo queda todo

const myArray = [1, 2, 3];  
const anotherArray = [...myArray, 4, 5, 6];  

vs

var myArray = [1, 2, 3];  
var anotherArray = [].concat(myArray, [4, 5, 6]);  

const myObj = {  
  name: "Perico"
};

const anotherObj = {  
  ...myObj,
  lastname: "De Los Palotes"
};

vs

var myObj = {  
  name: "Perico"
};

var anotherObj = Object.assign({}, myObj, {  
  lastname: "De Los Palotes"
});

Meh...

El destructuring

Una de las cosas más útiles que tiene ES6 de largo y que, hasta donde yo se, no hay forma de emular en ES5

const [head, ...tail] = [1, 2, 3, 4];    // head = 1; tail = [2, 3, 4]  

Array.slice es para gente que no mola

Los loops for-of

for (var i in myArray) {  
    var item = myArray[i];
}

vs

for (const item of myArray) {  
    // item ya es el elemento "que toque" en cada vuelta del loop
}

Lo de usar índices es para los antiguos...

Seguro que un huevo de cosas más

pero no sabes cuales porque sigues usando var para declarar variables.

Disclaimer! Espero que se vea que el artículo va con algo de sorna y tono de broma, que nadie se ofenda si se siente identificado con los antiguos (o los vellos como dicen por Galicia).

Gabriel Ferreiro

Read more posts by this author.

Subscribe to Gabriel Ferreiro

Get the latest posts delivered right to your inbox.

or subscribe via RSS with Feedly!