Sign up with your email address to be the first to know about new products, VIP offers, blog features & more.

Parámetros opcionales en funciones de JavaScript

El desarrollo web siempre tiene dos interacciones: la que se produce en el lado del servidor y la que se produce en el lado del cliente. Esta segunda cada vez tiene más relevancia para conseguir una mejor experiencia del usuario y JavaScript es el responsable de ésto.

JavaScript es una de esas tecnologías que se pensó para abordar pequeños problemas, pero que por cuestiones de compatibilidad y aceleración tecnológica, se ha convertido en una tecnología versátil a la vez que necesaria para poder afrontar las exigencias de la actualidad.

En lenguajes como PHP, podemos hacer uso de parámetros opcionales (aquí explicaba su uso al hablar de cómo podíamos imitar la sobrecarga de funciones en el curso de PHP orientado a objetos), por ejemplo:

Y sus respectivas llamadas:

Sin embargo, en JavaScript no tenemos esta posibilidad, aunque al igual que ocurría con la sobrecarga de funciones en PHP, podemos imitarlo. Veamos cómo.

Usando un condicional con undefined

Empezamos por la forma larga, que es la que menos me gusta:

Comprobando y asignando en una sola línea

Este método “largo” se puede reducir muchísimo, ganando en legibilidad y comodidad. ¿Cómo? La idea es “si la variable no es definida, toma el valor por defecto, si no, toma el que traes de la llamada”. Podemos reducir esta sentencia a la siguiente línea de código:

Varios parámetros

Al igual que ocurre en otros lenguajes, al haber varios parámetros, los parámetros opcionales tienen que estar siempre al final y habrá que tener cuidado en la forma en que los llamamos. Es decir, si tenemos cuatro parámetros y tres son opcionales, tendrán que ser los últimos y nos limitaremos a obviar los parámetros del final. Si no respetáramos esta regla, el intérprete en este caso y el compilador en otras, no sabría qué parámetros hemos quitado y cuáles hemos dejado.

Para evitar este problema y darle mayor claridad a todo este asunto, podemos usar jQuery y su función extend. ¿Cómo?

De esta forma conseguimos:

  • Poder usar el orden que queramos al llamar a los parámetros
  • Usar tantos parámetros opcionales como necesitemos
  • Clarificar la llegada de parámetros a las funciones

Leer entrada anterior
Lo mejor de mi RSS del 12 al 18 de marzo

El nuevo kernel finalmente soluciona el problema de energía - Usemos Linux Usa fotos Creative Commons en WordPress - Ayuda...

Cerrar