Prevent Object Mutation

Para prevenir la modificación de un objeto podemos usar Object.freeze(obj); de esta manera no podrá ser mutado.


Use Arrow Functions to Write Concise Anonymous Functions

En vez de esto

const myFunc = function() {
  const myVar = "value";
  return myVar;
}

Hacer esto

const myFunc = () => {
  const myVar = "value";
  return myVar;
}

Write Arrow Functions with Parameters

//Podemos mandar parámetros en las Arrow Functions de la siguiente manera
// doubles input value and returns it
const doubler = (item) => item * 2;
doubler(4); // returns 8

//Pero esto podemos simplificarlo si sólo tenemos un parámetro
const doubler = item => item * 2;

//Es posible pasar más de un argumento en una arrow function

const multiplier = (item, multi) => item * multi;
multiplier(4, 2); // returns 8

Set Default Parameters for Your Functions

const greeting = (name = "Anonymous") => "Hello " + name;

console.log(greeting("John")); // Hello John
console.log(greeting()); // Hello Anonymous

Use the Rest Parameter with Function Parameters

Podemos pasar un número variable de parámetros, o sea, más de uno si así quisiéramos.

Estos se guardan en un array y podemos acceder a él mediante los métodos de los array

function howMany(...args) {
  return "You have passed " + args.length + " arguments.";
}
console.log(howMany(0, 1, 2)); // You have passed 3 arguments.
console.log(howMany("string", null, [1, 2, 3], { })); // You have passed 4 arguments.