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
35M
36S

ES10: try catch y fromEntries

28/38
Recursos

Las siguientes características de ES10 o ES2019 que aprenderás son: parámetro opcional de catch y un método para tranformar arrays a objetos

Parámetro opcional de catch

El parámetro opcional de catch permite omitir el error si es necesario.

try {
  // Manejar el código
} catch (err) {
  // Se utiliza el parámetro `err`
}

try {
  // Manejar el código
} catch {
  // Manejar el error sin el parámetro.
}

Aunque siempre es recomendable manejar el error como parámetro, ya que tiene más información del problema.

Cómo transformar un array de arrays en un objeto

El método Object.fromEntries devuelve un objeto a partir de un array donde sus elementos son las entries en forma [propiedad, valor].

Se considera la operación inversa de Object.entries().

const arrayEntries = [
  [ 'name', 'Andres' ],
  [ 'email', '[email protected]' ],
  [ 'age', 23 ]
] 

const usuario = Object.fromEntries(arrayEntries) 

console.log(usuario)
/* {
  name: 'Andres',
  email: '[email protected]',
  age: 23
}
*/

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

Aportes 8

Preguntas 2

Ordenar por:

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

Hola [email protected] 😃

ES10:

  • Try catch
try {
    hello ();
} catch (error) {
    console.log(error);
}

try {
    onotherFn();
} catch {
    console.log("esto es un error")
}
  • FromEntries
const entries = new Map ([["name", "alexa"], ["age", 24]]);
console.log(entries);
console.log(Object.fromEntries(entries));

Para quienes no entiendan por qué el profesor usó Map en vez de un array, les comento que también se puede usar el mismo método con un array normal,

// Ahora se puede cambiar de un array a un objeto
const entries = [
  ["name", "Sime"],
  ["age", 30],
];
console.log("Array original", entries);
// Array origintal [ [ 'name', 'Sime' ], [ 'age', 30 ] ]
console.log("Array transformado a object", Object.fromEntries(entries));
// Array transformado a object { name: 'Sime', age: 30 }

Un uso de try { } catch { } es cuando tienes llamadas a una API, pero con async ... await

async function getUsers() {
  try {
    const data = await fetch('....')
  } catch {
    console.log(error)
  }
}

Dado que a diferencia de las promesas, no tenemos un método then ... catch

El error del catch ahora es opcional

try {
  hello();
} catch(e) {
  console.log('F por el hello()!')
  console.log(e);
}

try {
  anotherFn();
} catch {
  console.log('Esto es un error')
}

Me preguntaba como hacer lo opuesto, de Object a Array… usando entries() seria:

const array = Object.entries(object);
console.table(array);

Se puede pasar directamente el array a Object.fromEntries y tambien lo va a transformar en un objeto. Sin necesidad de pasarlo por new Map

const transformar = [['nombre', 'Leopoldo'],['edad','35']]
const entries = new Map(transformar)
console.log(transformar)
console.log(Object.fromEntries(transformar))
console.log(Object.fromEntries(entries))

quisiera comentarles algunas cosas que no se pueden hacer con el OjectfromEntries, si tenemos el siguiente codigo

const entries = new Map([["name", "Arnoll"],["Country", "Col"],["age", 20]]);
console.log(entries);
console.log(Object.fromEntries(entries));

no funcionara si tenemos mas de un par de datos dentro del array por ejemplo:

Input
const entries = new Map([["name", "Arnoll", "Country", "Col"],["age", 20]]);

Output
{ name: 'Arnoll', age: 20 }

para que hayan mas elementos deben estar separados de a par por los corchetes por ejemplo:

Input
const entries = new Map([["name", "Arnoll"],["Country", "Col"],["age", 20]]);

Output
{ name: 'Arnoll', Country: 'Col', age: 20 }

acepto feedback