Argumentos de desestructuración y función -

El lenguaje JavaScript se ha beneficiado de algunas características nuevas realmente sorprendentes en los últimos años, incluidas las funciones de flecha, el operador de extensión y los valores de argumentos de funciones predeterminadas. Incluso si su navegador aún no admite las adiciones de sintaxis API de JavaScript propuestas, puede usar una herramienta como Babel en su aplicación Node.js para aprovecharlas hoy.

Una de mis características nuevas (más o menos) favoritas de JavaScript es la desestructuración de objetos. Si no está familiarizado con la desestructuración de JavaScript, básicamente proporciona una sintaxis más corta para extraer el valor de la clave de un objeto sin el lío de notación de puntos:

// Un objeto de muestraconst myObject = { x: 1, y: 2 };// Destructuringconst { x, y } = myObject;// x es 1, y es 2

La sintaxis básica para la desestructuración es bastante simple, pero usar la desestructuración con argumentos de función puede ser un poco más difícil cuando esos valores de argumento deben tener valores predeterminados. La siguiente es una función con argumentos que tienen valores predeterminados:

function myFunction(text = "", line = 0, truncate = 100) { // Con los valores predeterminados, podemos evitar un montón de: text = text || ""; linea = linea || 0; truncar = truncar || 100;}

Independientemente del idioma, si una función toma más de ~3 parámetros, probablemente sea mejor pasar un nombre de objeto optionso configque contenga posibles claves/valores; el equivalente sería así:

function myFunction(config) {}// UsagemyFunction({ texto: "Algún valor", línea: 0, truncar: 100})

¿Qué sucede si desea utilizar la desestructuración en los argumentos de funciones de JavaScript? La siguiente firma de función pasaría a ser:

función miFunción({ texto, línea, truncar }) {}

Si desea definir valores predeterminados en la configuración de la función, usaría lo siguiente:

function myFunction({ text = "", line = 0, truncate = 100 } = {}) { // Incluso si al objeto pasado le falta una clave determinada, ¡se usa la predeterminada!}

= { }Es importante establecer un valor predeterminado; Sin ningún valor predeterminado, el siguiente ejemplo generaría un error:

TypeError: No se puede desestructurar la propiedad "clave" de "indefinido" o "nulo"

La desestructuración es una característica increíble del lenguaje, pero puede generar confusión e incluso errores. ¡Esperamos que los conceptos básicos proporcionados en esta guía puedan ayudarlo a navegar usando la desestructuración de JavaScript con funciones!

Te podría interesar...

Deja una respuesta

Subir