Clase


November 20, 2022 8:14 AM (CST)


Aportes

Creo que me da miedo hacer trabajo con pomodoro, porque me comprometo a hacer lo por 25min y otros 5min, pero el miedo que la página se tenga que recargar aumenta mi ansiedad.

Entonces prefiero un cronometro, esos no me generan estrés extra.


<aside> 💡 Las siguientes características de ES2020 o ES11 que aprenderás son: nuevo tipo de dato BigInt y operador Nullish Coalescing (??).

</aside>

BigInt

Números Enteros muy grandes

El nuevo dato primitivo bigint permite manejar números enteros muy grandes. Existen dos formas de crear un bigint:

El número entero seguido de n

const number1 = 45n
typeof 45n     // 'bigint' 

Mediante la función BigInt .

const number2 = BigInt(45);
typeof number2 // 'bigint'

JavaScript Límites numéricos.

Un máximo Number.MAX_SAFE_INTEGER

Un mínimo Number.MIN_SAFE_INTEGER.

const max = Number.MAX_SAFE_INTEGER
console.log(max)  
// 9 007 199 254 740 991
const min = Number.MIN_SAFE_INTEGER
console.log(min) 
//-9 007 199 254 740 991

Después de los límites, los cálculos muestran resultados erróneos. BigInt ayuda a manejar operaciones de enteros fuera de los límites mencionados.

const increment = 2
const number = Number.MAX_SAFE_INTEGER + increment 
//Más del limite, obvio se no funcionará correctamente. 
const bigInt = BigInt(Number.MAX_SAFE_INTEGER) + BigInt(increment)
//Más del limite, pero con ayuda de la función BigInt y no se sobrepaso del limite.

console.log(number) // 9007199254740992 | ❌
console.log(bigInt) // 9007199254740993n | ☑️

Otro ejemplo

9007199254740991// El Limite (2^53)
8907245920742093847 //Este ya sobrepaso el limite

const aBigNumber = 8907245920742093847n;
/*Este ya se paso del limite entendible por JS (2^53) pero tiene 'n' al final, entonces no habrá ningún problema. */
const anotherBigNumber = BigInt(8907245920742093847); 
/*Este desde el inicio se paso del limite por lo que la conversión con la función BitInt no funcionará correctamente.*/
console.log(aBigNumber);       //8907245920742093847n ☑️
console.log(anotherBigNumber); //8907245920742093824n ❌

Operador Nullish Coalescing

El operador nullish coalescing (??consiste en evaluar una variable si es undefined o null para asignarle un valor.

En un objeto