ES6 introduce nuevos métodos para Object, String, Number y Math. En esta entrada, veremos algunos de los nuevos métodos y explicaremos qué hace cada uno con ejemplos.
Object
Object.assign
Nos permite fusionar las propiedades de un objeto o más en un objeto de destino.
1 2 3 4 5 6 7 8 9 10 11 |
// Object.assign - fusionar 2 obj en 1 de destino const dest = {a:1}; const obj1 = {a:2}; const obj2 = {b:3, c:4}; Object.assign(dest, obj1, obj2); console.log(dest); // { a: 2, b: 3, c: 4 } // Object.assign - clonar const obj = {a:2}; const clonedObj = Object.assign({}, obj); console.log(clonedObj); // { a: 2 } |
Object.is
Comprueba si dos valores son iguales.
1 2 3 4 5 |
// Object.is console.log(Object.is(123, 123)) // true const test = {c:1}; console.log(Object.is(test, test)) // true console.log(Object.is(['qwerty', 1], ['qwerty', 2])) // false |
Ver código anterior en vivo: https://repl.it/@vreaxe/ES6-Nuevos-metodos-Object
String
.repeat()
Repite un string el número de veces que le pongamos entre los paréntesis.
1 2 3 |
// .repeat() console.log("hola".repeat(2)); // holahola console.log("string".repeat(10)); // stringstringstringstringstringstringstringstringstringstring |
.startsWith()
Comprueba si un string empieza por otro string. Podemos añadirle un segundo parámetro opcional que indicará a partir de que posición queremos que lo compruebe.
1 2 3 4 |
// .startsWith() console.log("hola".startsWith('hol')); // true console.log("adiós".startsWith('hol')); // false console.log("hola".startsWith('la', 2)); // true - posición a partir de la que comprobará |
.endsWith()
Comprueba si un string acaba por otro string. Podemos añadirle un segundo parámetro opcional que indicará a partir de que posición queremos que lo compruebe.
1 2 3 4 |
// .endsWith() console.log("hola".endsWith('ola')); // true console.log("adiós".endsWith('ola')); // false console.log("hola".endsWith('ho', 2)); // true - posición a partir de la que comprobará |
.includes()
Comprueba si un string incluye otro string. Al igual que en los anteriores, podemos añadirle un segundo parámetro opcional que indicará a partir de que posición queremos que lo compruebe.
1 2 3 4 |
// .includes() console.log("hola".includes('ol')); // true console.log("adiós".includes('ol')); // false console.log("hola".includes('la', 2)); // true - posición a partir de la que comprobará |
Ver código anterior en vivo: https://repl.it/@vreaxe/ES6-Nuevos-metodos-String
Number
Number.isNaN
Comprueba que el valor pasado es NaN (Not a number).
1 2 3 4 |
// Number.isNaN console.log(Number.isNaN(123)); // false console.log(Number.isNaN('string')); // false console.log(Number.isNaN(NaN)); // true |
Number.isFinite
Comprueba que el valor pasado sea finito.
1 2 3 |
// Number.isFinite console.log(Number.isFinite(Infinity)); // false console.log(Number.isFinite(5)); // true |
Ver código anterior en vivo: https://repl.it/@vreaxe/ES6-Nuevos-metodos-Number
Si quieres profundizar sobre los nuevos métodos de Number, visita este enlace.
Math
Math.trunc
Devuelve la parte entera del número indicado.
1 2 3 4 |
// Math.trunc console.log(Math.trunc(2.43)); // 2 console.log(Math.trunc(-3.92)); // -3 console.log(Math.trunc(10)); // 10 |
Math.sign
Devuelve el signo del número indicado. Si es positivo devuelve 1, si es negativo -1 y 0 si es 0.
1 2 3 4 |
// Math.sign console.log(Math.sign(1.33)); // 1 console.log(Math.sign(-9)); // -2 console.log(Math.sign(0)); // 0 |
Math.cbrt
Devuelve la raíz cúbica de x.
1 2 |
// Math.cbrt console.log(Math.cbrt(27)) // 3 |
Ver código anterior en vivo: https://repl.it/@vreaxe/ES6-Nuevos-metodos-Math
En Math introducen muchos más métodos relacionados con logaritmos, funciones trigonométricas, etc. Si quieres echarle un vistazo a los demás métodos, puedes entrar en este enlace.