Lo que debemos saber de EScript 2020

Kike.pe
Zurvin

--

Como desarrollador sabes que en este mundo, cuando ya estás dominando una herramienta sale otra y hay que adaptarse al continuo cambio.

Pero a su vez también salen mejoras y versiones nuevas que nos hacen la vida más fácil. Solo quiero comentar algunas características que considero más resaltantes de la nueva versión de Javascript.

1. Bigint

Es un nuevo tipo de dato primitivo. Permite trabajar con números enteros grandes. El número más grande que javascript puede manejar es 2⁵³, que podemos ver con Number.MAX_SAVE_INTEGER

const max = Number.MAX_SAFE_INTEGER;
console.log(max);
//9007199254740991

2. Dynamic import

A veces importamos librerías que usamos con poca frecuencia y aquí estamos perdiendo recursos. Ahora con async/await podemos importar dinámicamente nuestras dependencias solo cuando las necesitemos.

const map = await import('./map-script.js');

3. Variables de Clase privadas

Ahora podemos crear variables privadas simplemente agregando un # delante de nuestra variable.

class Mensaje{ 
#mensaje ="Hello JavaScript 2020";
greet(){
console.log(this.#mensaje);
}
}

4. Promise.allSettled

Con Promise.allSettled, podemos crear una promesa que solo se resuelve cuando todas las promesas que se le han asignado están completas.

const prom1 = new Promise((res, rej) => setTimeout(res, 1000)); 
const prom2 = new Promise((res, rej) => setTimeout(rej, 1000));
Promise.allSettled([prom1,prom2]).then(data => console.log(data));

5. Nullish coalescing operator

Este operador (??) devuelve su operando del lado derecho cuando su operando del lado izquierdo es nulo o indefinido.

let usuario;  
console.log(usuario ?? "Visitante"); // Visitante

El operador (||) es similar y ya existía desde antes en javascript, pero veamos las diferencias con unos ejemplos:

  • ?? retorna el primer valor definido.
  • || retorna el primer valor verdadero.
let nombre= null; 
let apellido= null;
let nickName = "KikeSanDev";

console.log(nombre|| apellido|| nickName || "Por defecto");
// KikeSanDev

Comparativa:

let height = 0;  console.log(height ?? 100);    // 0
console.log(height || 100); // 100

Algunas funciones nuevas nos va a costar un poco en ponerlas en práctica pero una vez que lo domines todo será más sencillo.

Dejo unos links para mayor referencia, y como siempre digo a practicar practicar y practicar.

👨🏻‍💻 Enjoy code!

--

--

Kike.pe
Zurvin
Editor for

Fullstack Developer Analyst. Javascript lover and on the path of continuous learning.