Resumen del libro java script the definitive guide
1. JavaScript: La guía definitiva
Parte I – Corazón de JavaScript
Capítulo 2 – Estructura léxica de JS
¿Qué es la estructura léxica?
La estructura léxica es el conjunto de reglas que nos dicen cómo escribir programas en un
determinado lenguaje de programación. Lo que se quiere decir con “reglas” se refiere a la forma
en declarar variables, la forma en escribir comentarios, la manera en separar sentencias unas de
otras, etcétera. Por poner un ejemplo claro de esto, podemos decir que VB.NET determina sus
comentarios por el carácter -> ‘ <-; mientras que lenguajes como Java, JS, CSS, C, etc., rige que se
escriban sus comentarios por -> // <- y -> /* */ <-.
Características de la estructura léxica
JavaScript es escrito o basado en el conjunto de caracteres Unicode. El conjunto de
caracteres Unicode es un súper-conjunto de ASCII y Latin-1 y abarca todos los lenguajes
utilizados actualmente el planeta, desde el árabe hasta el japonés (esto quiere decir que
se pueden escribir programas en árabe o japonés, - no es tan así, JS define ciertas
limitaciones, como definir los nombres de variables en inglés, pero el hecho de que
Unicode soporte estos lenguajes permite que puedan ser mostrados en pantalla
caracteres especiales, como los utilizados en estos lenguajes - pero lo recomendable es
que se escriban en inglés debido a que algunos navegadores web pueden no soportar esos
lenguajes; mejor dicho puede existir tecnología vieja tanto en HW como en SW que no
soporte el conjunto de caracteres Unicode en su totalidad, por lo que lo recomendable es
definir caracteres especiales de ciertos lenguajes con una “codificación especial”). Por otra
parte ECMAScript en su versión 3 necesita implementaciones de JS para soportar Unicode
2.1 o superiores y ECMAScript 5 necesita también de implementaciones de JS para
soportar Unicode en su versión 3 o superiores.
Ciertas veces, como se dijo anteriormente, existe HW y/o SW que no soporta el conjunto
completo de caracteres Unicode, es por esto que no es capaz de mostrarlo o “tomarlo” -
un input - en su totalidad (es decir no muestra de forma correcta ciertos símbolos,
mostrando en algunos casos en el lugar del signo correcto un símbolo de interrogación).
Son estos los casos en los que JS permite determinar esos símbolos con secuencias
Unicode de escape (Unicode Escape Secuences) que no son más que 6 caracteres ASCII
que permiten definir el símbolo en particular que se quería mostrar, siendo SIEMPRE los
dos primeros caracteres “u” y a continuación 4 números del sistema hexadecimal
(incluyendo las letras de la A a la F (por eso decimos que en sistema hexadecimal). De esta
manera si se quisiera mostrar la palabra “café” y como buenos desarrolladores web (y
para evitar ciertos conflictos con tecnología obsoleta) es preferible escribir la palabra de
texto con las secuencias de escape Unicode, siendo este: cafu00e9. Es más, si nosotros
2. en un intérprete pusiéramos lo siguiente:
“café” == “cafu00e9”; nos daría como resultado: true; demostrando de esta manera que
ambas cadenas de texto son equivalentes siendo el uso de las secuencias de escape
Unicode valederas.
JavaScript es sensible a mayúsculas (case-sensitive). Esto quiere decir que palabras claves,
nombres de variables, funciones, clases, etcétera deben escribirse a lo largo de los
programas de forma consistente, por ejemplo la palabra clave while, debe escribirse
SIEMPRE “while” y NO: While; WHILE o WhilE. De la misma manera las variables que
vayamos declarando a lo largo del uso del programa deben ser escritas de forma
consistente, por ejemplo: online, Online, ONLINE son 3 variables diferentes.
JavaScript ignora los espacios en blanco, saltos de líneas, espacios tabulados y demás
entre tokens. Esto permite que podamos identar el código para que sea fácil de leer y de
entender. De todas maneras es importante aclarar que JS permite el uso de ciertos
caracteres especiales para determinar explícitamente dónde se necesita un espacio en
blanco o bien un salto de línea. Un ejemplo de un lenguaje que no ignora los espacios en
blanco es Python.
JS tiene dos formas de definir comentarios:
o Un comentario de una línea simple es aquel que se encuentra entre // y el final de
la línea
o Un comentario de varias líneas es aquel que se encuentra entre los símbolos /* y
*/.
Es importante aclarar que los comentarios no pueden anidarse, por lo que si se quieren
anidar comentarios, los símbolos que son tratados como “delimitadores” de los
comentarios serán tratados como texto comentado en sí.