Aunque @ruakh dio una buena respuesta, agregaré algunas alternativas para completar:
De hecho, podría usar incluso var Omega = 'Ω'
en JavaScript, pero solo si su código JavaScript es:
- dentro de un atributo de evento, como en
onclick="var Omega = 'Ω';
alert(Omega)"
o
- en un
script
elemento dentro de un documento XHTML (o XHTML + XML) servido con un tipo de contenido XML.
En estos casos, el código será analizado primero (antes de pasar al intérprete de JavaScript) por un analizador HTML para que Ω
se reconozcan las referencias de caracteres como . Las restricciones hacen de este un enfoque poco práctico en la mayoría de los casos.
También puede ingresar el carácter Ω como tal, como en var Omega = 'Ω'
, pero luego la codificación de caracteres debe permitir eso, la codificación debe declararse correctamente y necesita un software que le permita ingresar dichos caracteres. Esta es una solución limpia y bastante factible si utiliza la codificación UTF-8 para todo y está preparado para lidiar con los problemas creados por ella. El código fuente será legible, y al leerlo, verá inmediatamente el carácter en sí, en lugar de las anotaciones de código. Por otro lado, puede causar sorpresas si otras personas comienzan a trabajar con su código.
El uso de la \u
notación, como en var Omega = '\u03A9'
, funciona independientemente de la codificación de caracteres, y en la práctica es casi universal. Sin embargo, puede usarse como tal solo hasta U + FFFF, es decir, hasta \uffff
, pero la mayoría de los personajes de los que la mayoría de la gente ha oído hablar caen en esa área. (Si necesita caracteres "más altos", debe usar pares sustitutos o uno de los dos enfoques anteriores).
También puede construir un carácter utilizando el String.fromCharCode()
método, pasando como parámetro el número Unicode, en decimal como en var Omega = String.fromCharCode(937)
o en hexadecimal como en var Omega = String.fromCharCode(0x3A9)
. Esto funciona hasta U + FFFF. Este enfoque se puede usar incluso cuando tiene el número Unicode en una variable.
var Omega = "Ω";
demasiado simple?