Sintaxis básica

1. Comentarios

Los comentarios nos ayudan a entender nuestro código, en ocasiones podemos utilizarlos para silenciar temporalmente partes del código.La sintaxis de comentarios en JavaScript es la misma que en muchos otros lenguajes:


// Envolviendo todo nuestro código javaScript en esta función
// la página solo espera a que carge el DOM, sin todos los asset (imágenes, css,...)
// (esta es la mejor opción para rendimiento)
// -----------------------------------------------------------------
document.addEventListener('DOMContentLoaded',function() {
    document.body.style.background = "#ff0";
});

Como regla general es mejor poner comentarios, que no ponerlos.

 

2. Espacios en blanco

No se tienen en cuenta los espacios en blanco y las nuevas líneas: como sucede con HTML, el intérprete de JavaScript ignora cualquier espacio en blanco sobrante, por lo que el código se puede ordenar de forma adecuada para entenderlo mejor (tabulando las líneas, añadiendo espacios, creando nuevas líneas, etc.).

En ocasiones los espacios en blanco son necesarios, por ejemplo, para separar palabras reservadas del lenguaje: los nombres de las variables de la palabra reservada var.

 

3. Variables

Cuando programamos, podemos crear variables que son pequeños espacios de memoria a los que ponemos un nombre como “nombreVariable”, y que nos permite almacenar datos de distintos tipos que posteriormente podremos cambiar y manipular.

Las variables en los lenguajes de programación son similares a las variables en matemáticas. Como hemos dicho, las variables son contenedores de información: texto, números, funciones, programas (podríamos decir que cualquier cosa). Las variables no se destruyen, es necesario asignarles el valor null.

De la misma forma que si en Matemáticas no existieran las variables no se podrían definir las ecuaciones y fórmulas, en programación no se podrían hacer programas útiles sin ellas.

Las variables en JavaScript se crean (declaran) mediante la palabra reservada var. En realidad hay tres tipos de declaraciones: var, let y const. Estas dos últimas forman parte de ECMAScript 2015 (ES6) standard.

La palabra reservada var se utiliza para declarar una o más variables (separadas por coma) y, opcionalmente, inicializarla/s a un valor.

Si cuando se declara una variable se le asigna también un valor, se dice que la variable ha sido inicializada. En JavaScript no es obligatorio inicializar las variables, ya que se pueden declarar por una parte y asignarles un valor posteriormente.

SINTAXIS: var nombre1 [= valor1], [nombre2 [= valor2],...;

nombreN : Nombre de variable. Puede ser cualquier identificador legal.

valorN : Valor inicial de la variable. Puede ser cualquier expresión legal.

Si no declaramos una variable, JavaScript lo admite, pero es una muy mala práctica, porque todas las variables creadas así son globales, de manera que se recomienda declarar todas las variables que se vayan a utilizar.

En JavaScript no se indica el tipo de variable al declararla, por eso decimos que es un lenguaje de tipado dinámico. JavaScript entiende que una variable es de un tipo determinado cuando le asignamos un valor; por ejemplo si le asignamos un número (sea entero o real) JavaScript entiende que es de tipo Number. Si el valor cambia entonces cambia su tipo.

El nombre de una variable también se conoce como identificador y debe cumplir las siguientes normas:

 

4. Ámbito (scope)

Cuando declaras una variable fuera de una función, esta se llama variable global, porque esta disponible para cualquier otro código en el documento actual (esto ocurre también si quitamos la palabra var porque la vuelve automáticamente global). Cuando declaras una variable dentro de una función, esta es llamada variable local, porque está disponible solo dentro de esa función.

Antes de ECMAScript 6 Javascript no exite el ámbito de  sentencias de bloque (if, for,...); más bien, una variable declarada dentro de un bloque es local para la función en la que reside el bloque. Este comportamiento cambia, cuando usamos la declaración let introducida en ECMAScript 2015.

Otra cosa inusual acerca de las variables en JavaScript es que pueden hacer referencia a una variable declarada más tarde,  sin dar error (excepción). Sin embargo, las variables que no se han inicializado todavía devolverán un valor undefined.

 

5. Tipos de Datos

Como hemos dicho, aunque todas las variables de JavaScript se crean de la misma forma (mediante la palabra reservada var), su tipo depende del valor que le asignamos (números, textos, etc.).

El último estándar ECMAScript define siete tipos de datos (los seis primeros son tipos de datos primitivos):

Aunque estos tipos de datos son una cantidad relativamente pequeña, permiten realizar funciones útiles. Otra forma de clasificar los tipos de datos en JavaScript sería:

 

6. Números

En JavaScript únicamente existe un tipo de número. Internamente, es representado como un dato de 64 bits en coma flotante, al igual el tipo de dato double en Java. A diferencia de otros lenguajes de programación, no existe una diferencia entre un número entero y uno real (decimal), por lo que, por ejemplo, el 2 y el 2.0 son el mismo valor. Esto es significativo ya que evitamos los problemas desbordamiento en tipos de dato pequeños, al no existir la necesidad de conocer el tipo de dato.

Si el número es entero, se indica su valor directamente. Si el número es decimal, se debe utilizar el punto (.) para separar la parte entera de la decimal. Además del sistema numérico decimal, también se pueden indicar valores en el sistema octal (si se incluye un cero delante del número) y en sistema hexadecimal (si se incluye un cero y una x delante del número).

JavaScript define tres valores especiales cuando se trabaja con números. En primer lugar se definen los valores Infinity y –Infinity para representar números demasiado grandes (positivos y negativos) y con los que JavaScript no puede trabajar.

El otro valor especial definido por JavaScript es NaN, que es el acrónimo de "Not a Number". De esta forma, si se realizan operaciones matemáticas con variables no numéricas, el resultado será de tipo NaN.

Para manejar los valores NaN, se utiliza la función isNaN(), que devuelve true si el parámetro que se le pasa NO ES un número.

Más adelante veremos también un objeto que existe, por defecto, en JavaScript, denominado Math, el cual tiene una serie de métodos muy útilies para trabajar con números: Math.PI, Math.E, Math.random(), Math.pow(), Math.round(), Math.sqrt(), etc...

 

7. Cadenas de texto

Las variables de tipo cadena de texto permiten almacenar cuaquier sucesión de caracteres, por lo que se utilizan ampliamente en la mayoría de aplicaciones JavaScript. Cada carácter de la cadena se encuentra en una posición a la que se puede acceder individualmente, siendo el primer carácter el de la posición 0.

Cuando creamos variables para cadenas de texto, el valor de las cadenas de texto se debe encerrar entre comillas simples o dobles.

Las cadenas de texto pueden almacenar cualquier carácter, aunque algunos no se pueden incluir directamente en la declaración de la variable. Si por ejemplo queremos incluir comillas, un salto de línea, etc.. se produce un error en la aplicación. La solución a esto es utilizar el denominado "mecanismos de escape" de forma que sustituimos los caracteres que pueden dar problemos por otros que siempre deben comenzar con la barra inclinada a la izquierda \ .

 

8. Conversiones

Cuando un valor, representando un número, está en memoria como un string, hay métodos para la conversión. 

Number() convierte a Number, String() convierte a String, Boolean() convierte a Boolean. En JavaScript una variable de un tipo se puede convertir en otro tipo automáticamente simplemente con asignarle otro valor o utilizando alguna de las funciones existentes para ello.

Métodos y Propiedades con números en JavaScript

Conversión de variables en números

 

Imprimir