Una constante es un valor que no cambia durante la ejecución del codigo. En javascript no existen constantes pero con simplemente no cambiar el valor de una variable se vuelve una constante. Las contantes deben ser escritas con mayusculas para reconocerlas por ejemplo:

Código :

Math.PI // una constante del objeto Math que guarda el valor de Pi.


Las constantes juegan un papel importante en el codigo ya que te aseguran un valor que permanece, que puede ser usado en distintos lugares del codigo. Yo cuando creo componentes a veces necesito saber el estado si es play, pause, o stop de un juego por ejemplo. Si no usara constantes probablemente acabaria haciendo lo siguiente:

Código :

GameEngine.prototype.play = function()
{
    if (this.status == 'stop')
    {
    }
    else if (this.status == 'pause')
    {
    }
}


Aunque este codig en si no tiene ningun problema eso no significa que se pueda mejorar, si definimos constantes para el valor de play, pause y stop de la siguiente manera:

Código :

var PLAY = 'play';
var STOP = 'stop';
var PAUSE = 'pause';


Como pueden ver las constantes no son mas que una variables normal cuyo nombre escribo con mayuscula y que por lo mismo se que no debo asignar ningun valor nuevo ahi, nuestro codigo quedaria asi entonces:

Código :

GameEngine.prototype.play = function()
{
    if (this.status == STOP)
    {
    }
    else if (this.status == PAUSE)
    {
    }
}


Es igual? Si y no, si el codigo va hacer exactamente lo mismo pero corregimos uno de los errores mas comunes y mas dificiles de corregir errores de dedo, que pasa si nosotros u otro desarrollador escribe 'Stop' en vez de 'stop', pues que no habra error en el codigo pero ese if jamas llegara a correr por que en algun lugar se usa 'stop' y en otros 'Stop', a veces esto pasa hasta sin querer como error de dedo.

Te has topado con una situacion asi? Pues ahora sabes como protegerte que te pase de nuevo. Por otro lado si en algun momento queremos cambiar el valor de 'stop' a 'Stop' por alguna razon, solo hacemos esto (cmabiarlo en el lugar donde definimos la constante):

Código :

var PLAY = 'play';
var STOP = 'Stop';
var PAUSE = 'pause';


Y listo el codigo no se rompe sigue funcionando perfectamente, otra ventaja es tener que buscar en tu codigo como escribias un string, si con alguna mayuscula, si con espacio. Asi que ya sabes si no quieres andar revisando tu propio codigo, y quieres protegerte de un posible error de dedo, usa las constantes.