expresiones son cualquier combinación de símbolos de JavaScript que representan un valor. Así, las expresiones tienen valores (de los cuales hablamos en el ejercicio anterior) y los valores y las propiedades tienen tipos.
8. Una expresión puede estar formada por diferentes tipos de elementos: operadores y operandos, valores, funciones y procedimientos.
Los bucles (loops) también son un ejemplo de sentencia en JavaScript.
En la descripción de estas dos variables, todo cuanto se encuentra a la derecha del signo =, el cual indica la descripción de la variable en sí misma, es una expresión.
9. Dicho esto, podemos destacar que cuando JavaScript espera la aparición de una sentencia, es posible que aparezca una expresión, pero no al contrario: no es posible escribir una sentencia cuando el programa está esperando una expresión.
10. A menudo, y debido a su construcción, se utilizan erróneamente dos tipos concretos de expresiones como si fueran sentencias: los objetos literales (expresiones) se confunden con los bloques (sentencias) y las expresiones de funciones con nombre se confunden con declaraciones de funciones, las cuales son sentencias.
IMPORTANTE
Es posible escribir sentencias condicionales utilizando una expresión con un operador condicional. Por ejemplo, éstas serían las líneas de código con la sentencia condicional if : var premio;
if (si) {
premio = ¡Enhorabuena!’;
} else {
premio =’Lo sentimos’;
}
Y ésta la misma línea con el operador condicional:
var premio = si ?
‘¡Enhorabuena!’ : ‘Lo sentimos’;
(Todo se escribe en una misma línea.)
004 El uso del punto y coma en JavaScript
EL USO DEL PUNTO Y COMA al final de cada sentencia no es obligatorio en el código JavaScript, aunque sí altamente recomendable. En este ejercicio le mostraremos por qué es recomendable utilizar este signo de puntuación y en qué casos precisamente no debe utilizarse.
1. Con el fin de evitar posibles errores detectados por el navegador web en el momento de la interpretación, las diferentes instrucciones contenidas en nuestros scripts deben separarse adecuadamente. ¿Cómo? Mediante un punto y coma al final de cada línea.
2. Sin embargo, existen ciertas excepciones a esta norma del punto y coma. En concreto, las sentencias que finalizan con un bloque no deben llevar punto y coma al final de las mismas. Y todavía podemos concretar más esta excepción: sólo los bucles (como for y while), los conectores (como if, switch o try) y las declaraciones de funciones que finalizan con un bloque no se cierran con un punto y coma.
3. Éste sería un ejemplo de una sentencia con un bucle for que no finaliza con un punto y coma:
for (var num=11; num<=20; num++) {
document.write(‘<h3>Número ‘ + num + ‘<br></h3>’);
}
4. Vea que la sentencia finaliza con la llave de cierre, y no con este signo y un punto y coma. Seguidamente, incluimos un ejemplo de una sentencia con un conector condicional como if que tampoco finaliza con un punto y coma:
if (bestCountry == ‘Canadá’) {
document.write(“<p>¡Coincido contigo! China también</p>”);
}
5. Por último, un ejemplo de la tercera de las excepciones listadas en el punto 2, es decir, una declaración de función, serían las líneas siguientes:
function printToday() {
var hoy = new Date(); document.write(hoy.getDate());
}
6. Sin embargo, sepa que la inserción de un punto y coma en estos casos concretos no conlleva un error de sintaxis, debido a que dicho signo se considera una sentencia vacía y las sentencias vacías pueden aparecer en el punto en que el código prevé encontrar una sentencia.
7. JavaScript cuenta con un mecanismo que se ocupa de insertar un punto y coma allá donde prevé que es necesario. Este mecanismo se denomina ASI, siglas del término en inglés Automatic Semicolon Insertion , y aunque a primera vista puede resultar muy útil, en ocasiones produce resultados inesperados. Por esta razón, lo mejor y más recomendable es utilizar el punto y coma nosotros mismos allí dónde sea necesario.
IMPORTANTE
Básicamente, el mecanismo ASI funciona al determinar el punto en que una sentencia finaliza y le agrega un punto y coma.
005 Datos primitivos
COMO LA MAYORÍA DE LENGUAJES DE programación, Javascript cuenta con los tipos de datos habituales de este tipo de lenguajes: booleanos, cadenas de caracteres, números, entre otros. Estos datos se confunden en ocasiones con otros elementos propios también de este lenguaje: los objetos. En éste y en el siguiente ejercicio, trataremos de describir y distinguir ambos tipos de elementos.
1. Como hemos indicado en la introducción, JavaScript cuenta con los siguientes tipos de datos: booleanos, números, cadenas de caracteres, matrices y los tipos especiales null y undefined. Todos estos datos, que se denominan primitivos, tienen propiedades, las cuales, a su vez, tienen un nombre y un valor.
Debe saber que en realidad los datos primitivos no tienen propiedades, sino que las toman prestadas de los constructores que los envuelven. Hablaremos de dichos constructores más adelante en este libro. Imagen: aprenderaprogramar.com.
2. Los datos primitivos tienen unas características que los identifican. Veamos cuáles son, aunque sepa que cada uno de ellos será tratado ampliamente más adelante en este libro.
3. El tipo de dato booleano (en inglés, boolean) acepta sólo dos valores:
true
false
4. Y normalmente se utilizan en sentencias condicionales.
5. Los tipos numéricos (en inglés, number) representan cualquier número entero o de punto flotante, es decir, con decimales (23.7).
var valor1 = 5;
var valor2 = 2.9;