No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Regálate acceso ilimitado a todos los cursos por 1 año a precio especial de Navidad 🎄

Antes: $199

Currency
$149/año
regístrate

termina en:

16D
13H
52M
2S

ES7: exponentiation operator y array includes

21/38
Recursos

La siguiente versión de ECMAScript fue publicada en 2016. Las siguientes características de ES7 o ES2016 que aprenderás son: el método includes de arrays y el operador de potenciación.

Operador de potenciación

El operador de potenciación (exponential operator) consiste en elevar una base a un exponente utilizando el doble asterisco (**).

base ** exponente

Por ejemplo, el cubo de 2 es igual a 8, matemáticamente expresado sería: $2^3=8$.

const potencia = 2**3

console.log(potencia) // 8

Método includes

El método includes determina si un array o string incluye un determinado elemento. Devuelve true o false, si existe o no respectivamente.

Este método recibe dos argumentos:

  • El elemento a comparar.
  • El índice inicial desde donde comparar hasta el último elemento.

Índices positivos y negativos

Los índices positivos comienzan desde 0 hasta la longitud total menos uno, de izquierda a derecha del array.

[0,1,2,3, ...., lenght-1]

Los índices negativos comienzan desde -1 hasta el negativo de la longitud total del array, de derecha a izquierda.

[-lenght, ...,  -3, -2, -1]

Ejemplos utilizando el método includes

El método includes se utiliza para arrays y strings. El método es sensible a mayúsculas, minúsculas y espacios.

//Utilizando strings
const saludo = "Hola mundo"

saludo.includes("Hola") // true
saludo.includes("Mundo") // false
saludo.includes(" ") // true
saludo.includes("Hola", 1) // false
saludo.includes("mundo", -5) // true
// Utilizando arrays
const frutas = ["manzana", "pera", "piña", "uva"]

frutas.includes("manzana") // true
frutas.includes("Pera") // false
frutas.includes("sandía") // false
frutas.includes("manzana", 1) // false
frutas.includes("piña", -1) // false
frutas[0].includes("man") // true

Contribución creada por Andrés Guano (Platzi Contributor).

Aportes 9

Preguntas 0

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.

Includes, pero en objetos

🔗 En objetos también existen formas para saber si existe una propiedad. Estos son:

  • La palabra reservada in
  • El método de objetos hasOwnProperty
  • El método Object.hasOwn, que recibe el objeto y la propiedad a evaluar.
const letras = { a: 1, b: 2, c: 3 }

"a" in letras // true
letras.hasOwnProperty("a") // true
Object.hasOwn(letras, "a") // true

.
Se diferencian en que in evalúa todas las propiedades del objeto y del prototipo.
.
El método hasOwnProperty evalúa solamente las propiedades del objeto. Sin embargo puede que colisione con alguna otra propiedad en el prototipo, por lo que la última versión de ECMAScript lanzó Object.hasOwn y se recomienda utilizar este si el navegador en el que trabajas lo soporta: Can I use?.

const letras = { a: 1, b: 2, c: 3 }

"toString" in letras // true
letras.hasOwnProperty("toString") // false
Object.hasOwn(letras, "toString") // false

Hola [email protected] 😃

**ES7: **

  • Exponentiation operator
const data = 3 ** 4;
console.log(data);
  • Array includes
let numbers = [1, 3, 4, 6, 7, 8];
console.log(numbers.includes(9))

const list = ["oscar", "David", "Ana"]
console.log(list.includes("Oscar"))

Retomando el ejemplo que puse en la clase de spread operators, cual crees que sea el resultado de esto:

let familyEmoji = [..."👨‍👩‍👦‍👦"]
console.log(
	familyEmoji.includes("👨"),
	familyEmoji.includes("👩"),
	familyEmoji.includes("👦")
);

Respondelo y luego compruebalo en tu consola! 🤯

Por si a alguno le quedo la duda hice el ejercicio para pasar a lowercase el array usando .map 😃 (No se si .map salio en una nueva version mas adelante de la es7, pero pueden ver el curso de arrays de platzi de la ruta de JS! Ahi los explican muy bien!)

const list = ["Oscar", "Pedro", "Jose"];
const newList = list.map(item => item.toLowerCase());
console.log(newList);
console.log(newList.includes('oscar'));

Asignación de potencia

🎈 También puedes utilizar el operador de potencia para volver a asignar un valor a una variable.

let a = 3

a = a ** 2 // 9
// lo mismo que
a **= 2 // 9

Mis apuntes de las clases hasta ahora:

Links