Consejos Javascript I – Variables globales y patrón Single var

David Galisteo Cantero

En esta entrada veremos algunos consejos a la hora de usar variables en Javascript, por una parte, uso de variables globales, y por otra, el patrón Single var.

Uso de variables globales

El uso de variables globales en Javascript es algo controvertido, si no conoces bien el lenguaje y el alcance de las variables, puedes encontrar problemas dificiles de detectar.

Se aconseja que se use el mínimo número de variables globales posible, ya que pueden colisionar con otras librerías / código que usemos en nuestro proyecto.
Imaginad que tenemos una librería que declara una variable global x, y la usa para almacenar un dato. Después, en nuestro código hacemos una asignación tal que así:

x = 3;

En principio, podríamos suponer que esa variable no va a estar declarada anteriormente y que no va a haber problema, pero estamos modificando el valor de esta, y la librería que la declaró podría dejar de funcionar correctamente.

La culpa es de las dos partes, primero, la librería declara la variable global, y después nosotros “creemos” que declaramos una variable que en realidad es global y modificamos su valor.

Así, lo que se ha de buscar es declarar variables dentro de nuestro ámbito, por ejemplo, si estamos trabajando dentro de una función, hacerlo de la siguiente forma:

function func (){
  var a = 3;
  return a;
}

La vida de la variable a es la misma que la de la función, es decir, cuando la función termina de ejecutarse, esa variable desaparece.

Si, por el contrario, programamos la función de esta otra manera:

function func (){
  a = 3;
  return a;
}

Una vez que termine la ejecución de la función, la variable a seguirá activa como global.

En definitiva, habría que procurar usar var a la hora de declarar variables y así evitaríamos estos problemas.

Patrón Single var

Para dar una pequeña introducción, un patrón es una plantilla para solucionar problemas que se suelen repetir muchas veces.

En este caso, el problema que nos ocupa es el de las variables globales y la omisión de var a la hora de declararlas.

Así, este patrón nos indica un lugar donde declarar todas nuestras variables y previene errores por declarar más de una vez la misma variable, o no declararla correctamente.

Si nos vamos al código, sería algo como lo siguiente:

 
function func(){
  var a = 3,
      b = 8,
      c = a + b,
      el = $('#id'),
      obj = {};
 
  //código función
}

Usamos el var para declarar múltiples variables (equivale a declarar cada una con var en lineas distintas).

Así evitamos valores undefined y mejoramos la lectura y organización de nuestro código.

Espero que os haya sido de utilidad, para cualquier duda, comentanos.

HackSaludos!

Publicado el 11-11-2015

Compartelo!

Deja un comentario

Comentanos

*
Ir arriba de la pagina