JS-basics-feedback
Resumen de la retroalimentaci贸n
Me alegra ver que has creado un buen frontend para que sea c贸modo comprobar la tarea. Sin embargo, hay algunas 谩reas en las que podr铆as mejorar la l贸gica del ejercicio. En este art铆culo, te proporcionar茅 retroalimentaci贸n detallada sobre tus errores y sugerencias para mejorar.
Uso de variables
1.2 Uso de var
en lugar de const
o let
- Uso de
var
: En JavaScript,var
se utiliza para declarar variables que pueden cambiar durante la ejecuci贸n del c贸digo. Sin embargo, es recomendable evitar su uso en favor delet
oconst
, que ofrecen una mejor gesti贸n de la memoria y evitan problemas de alcance. - Sugerencia: En lugar de
var
, utilizalet
para variables que cambiar谩n durante la ejecuci贸n del c贸digo, yconst
para valores que no cambiar谩n.
Uso de console.log
para verificar tipos de datos
- Uso de
console.log
: En lugar de utilizarconsole.log
para verificar el tipo de un objeto, puedes utilizar la propiedadtypeof
para obtener la informaci贸n deseada. - Sugerencia: En lugar de
console.log(typeof arrayNum)
, utilizaarrayNum.typeof
para obtener el tipo de dato del objeto.
Simplificaci贸n de la expresi贸n const _array = input.split(/[\s,]+/).map((num) => parseFloat(num.trim()));
- Simplificaci贸n: La expresi贸n anterior puede ser simplificada utilizando la funci贸n
map
de forma m谩s concisa. - Sugerencia: En lugar de
const _array = input.split(/[\s,]+/).map((num) => parseFloat(num.trim()));
, utilizainput.split(/[\s,]+/).map(parseFloat)
para obtener el mismo resultado.
Operadores ternarios
1.5 Uso de operadores ternarios
- Uso de operadores ternarios: En el ejercicio, se te pide utilizar operadores ternarios para simplificar la l贸gica del c贸digo.
- Sugerencia: Aseg煤rate de utilizar operadores ternarios en lugar de estructuras de control
if-else
para simplificar la l贸gica del c贸digo.
Clases y objetos
4.3 Creaci贸n de una clase
- Creaci贸n de una clase: En lugar de utilizar la sintaxis
function Weapon(){};
, utiliza la sintaxisclass Weapon {}
para crear una clase en JavaScript. - Sugerencia: En lugar de
function Weapon(){};
, utilizaclass Weapon {}
para crear una clase.
Clonaci贸n de objetos
- Clonaci贸n de objetos: En lugar de utilizar una funci贸n llamada
copyObject()
, utiliza la funci贸nObject.assign()
o el operador spread({ ...obj })
para clonar un objeto en JavaScript. - Sugerencia: En lugar de
copyObject()
, utilizaObject.assign()
o({ ...obj })
para clonar un objeto.
Promesas y async/await
7.5 Uso de new Promise
y if-else
en lugar de delayedPrint()
y async/await
- Uso de
new Promise
: En lugar de crear una promesa utilizandonew Promise
, utiliza la funci贸ndelayedPrint()
y captura errores conasync/await
para simplificar la l贸gica del c贸digo. - Sugerencia: En lugar de
new Promise
, utilizadelayedPrint()
yasync/await
para simplificar la l贸gica del c贸digo.
7.6 Uso de indexOf()
con promesas
- Uso de
indexOf()
: En lugar de utilizarindexOf()
con promesas, utiliza la funci贸nthen()
para capturar la promesa y obtener el resultado deseado. - Sugerencia: En lugar de
indexOf()
, utilizathen()
para capturar la promesa y obtener el resultado deseado.
Conclusi贸n
Preguntas frecuentes
驴Qu茅 es el uso de var
en lugar de const
o let
?
- Respuesta: El uso de
var
en lugar deconst
olet
puede causar problemas de alcance y memoria en JavaScript. Es recomendable utilizarlet
para variables que cambiar谩n durante la ejecuci贸n del c贸digo yconst
para valores que no cambiar谩n.
驴C贸mo puedo simplificar la expresi贸n const _array = input.split(/[\s,]+/).map((num) => parseFloat(num.trim()));
?
- Respuesta: Puedes simplificar la expresi贸n utilizando la funci贸n
map
de forma m谩s concisa. En lugar deconst _array = input.split(/[\s,]+/).map((num) => parseFloat(num.trim()));
, utilizainput.split(/[\s,]+/).map(parseFloat)
para obtener el mismo resultado.
驴Qu茅 es el uso de operadores ternarios?
- Respuesta: Los operadores ternarios son una forma de simplificar la l贸gica del c贸digo utilizando una sola l铆nea de c贸digo. En lugar de utilizar estructuras de control
if-else
, puedes utilizar operadores ternarios para obtener el mismo resultado.
驴C贸mo puedo crear una clase en JavaScript?
- Respuesta: Puedes crear una clase en JavaScript utilizando la sintaxis
class
. En lugar defunction Weapon(){};
, utilizaclass Weapon {}
para crear una clase.
驴C贸mo puedo clonar un objeto en JavaScript?
- Respuesta: Puedes clonar un objeto en JavaScript utilizando la funci贸n
Object.assign()
o el operador spread({ ...obj })
. En lugar decopyObject()
, utilizaObject.assign()
o({ ...obj })
para clonar un objeto.
驴Qu茅 es el uso de new Promise
y if-else
en lugar de delayedPrint()
y async/await
?
- Respuesta: El uso de
new Promise
yif-else
en lugar dedelayedPrint()
yasync/await
puede causar problemas de sincronizaci贸n y errores en la ejecuci贸n del c贸digo. Es recomendable utilizardelayedPrint()
yasync/await
para simplificar la l贸gica del c贸digo.
驴C贸mo puedo utilizar indexOf()
con promesas?
- Respuesta: Puedes utilizar
indexOf()
con promesas capturando la promesa conthen()
y obteniendo el resultado deseado. En lugar deindexOf()
, utilizathen()
para capturar la promesa y obtener el resultado deseado.
Consejos y recomendaciones
Utiliza let
y const
en lugar de var
- Consejo: Aseg煤rate de utilizar
let
yconst
en lugar devar
para evitar problemas de alcance y memoria en JavaScript.
Simplifica la l贸gica del c贸digo
- Consejo: Aseg煤rate de simplificar la l贸gica del c贸digo utilizando operadores ternarios, funciones y estructuras de control para obtener el mismo resultado de manera m谩s concisa.
Utiliza class
para crear clases
- Consejo: Aseg煤rate de utilizar
class
para crear clases en JavaScript en lugar defunction
para obtener un mejor control y organizaci贸n del c贸digo.
Utiliza Object.assign()
o ({ ...obj })
para clonar objetos
- Consejo: Aseg煤rate de utilizar
Object.assign()
o({ ...obj })
para clonar objetos en JavaScript en lugar decopyObject()
para obtener el mismo resultado de manera m谩s concisa.
Utiliza delayedPrint()
y async/await
para simplificar la l贸gica del c贸digo
- Consejo: Aseg煤rate de utilizar
delayedPrint()
yasync/await
para simplificar la l贸gica del c贸digo en lugar denew Promise
yif-else
para obtener un mejor control y sincronizaci贸n del c贸digo.
Recursos adicionales
Documentaci贸n oficial de JavaScript
Recursos de aprendizaje de JavaScript
- Enlace: https://www.w3schools.com/js/