Como en todo lenguaje de programación, JavaScript tiene una serie de normas básicas de sintaxis que debemos seguir.
Estas reglas definen cómo organizar las instrucciones y cómo estructurar el código de manera que el intérprete (el navegador o el entorno de ejecución) pueda procesarlo sin errores.
Vamos a repasarlas 👇
Instrucciones y ejecución secuencial
En JavaScript, el código está compuesto por instrucciones que se ejecutan de forma secuencial.
Esto significa que las instrucciones se ejecutan una tras otra, de arriba hacia abajo, en el orden en que aparecen.
let nombre = "Juan";
console.log(nombre);
En este ejemplo, la primera línea define una variable llamada nombre
con el valor "Juan"
, y la segunda línea muestra el contenido de la variable en la consola.
Punto y coma para finalizar sentencias
En JavaScript, cada instrucción generalmente termina con un punto y coma ;
.
let nombre = "Juan";
console.log(nombre);
Sin embargo, el lenguaje permite omitirlo en muchos casos. Para ello aplica unas reglas llamadas ASI (Automatic Semicolon Insertion).
Leer más sobre Reglas ASI
Las reglas de ASI (Automatic Semicolon Insertion) en JavaScript determinan cuándo el motor del lenguaje inserta automáticamente un punto y coma en el código. Estas son las principales reglas:
- Fin de línea: JavaScript inserta un punto y coma cuando encuentra un salto de línea al final de una sentencia.
- Llaves de cierre (}): Si una sentencia termina con una llave de cierre, se considera que la sentencia ha finalizado y no se requiere un punto y coma adicional.
- Palabras clave de control: Palabras como return, break, continue y throw al inicio de una línea provocan la inserción de un punto y coma si es necesario.
- Operadores seguidos de nueva línea: Si una sentencia termina con un operador y continúa en la siguiente línea, JavaScript inserta un punto y coma donde corresponde.
- Estructuras de control: En estructuras como if, for, y while, las llaves de cierre indican el final de la sentencia sin necesidad de un punto y coma.
Aunque JavaScript generalmente puede inferir el final de una línea, es una buena práctica usar el punto y coma siempre. De lo contrario, puede dar errores. Lo vemos con un ejemplo sencillo
Aquí JavaScript no entiende el final de la instrucción acaba en 1+2
const c = 1 + 2
(1 + 2).toString()
Os dará un error como
TypeError: 2 is not a function
Porque lo que JavaScript ha interpretado ha sido esto
const c = 1 + 2(1 + 2).toString()
Que está mal, y por eso te tira un error 😒
Sin embargo, si delimitamos las instrucciones con un ;
const c = 1 + 2;
(1 + 2).toString();
JavaScript lo interpreta correctamente y muestra
'3'
En resumen, usad punto y coma siempre.
Llaves para delimitar bloques de código
Las llaves {}
en JavaScript se utilizan para definir bloques de código, especialmente en estructuras de control como funciones, bucles o condiciones.
Todo el código dentro de las llaves pertenece al mismo bloque y se ejecutará en conjunto (a efectos del intérprete, es como si fuera una única instrucción).
Ejemplo de un bloque de código en una estructura if
:
if (nombre === "Juan") {
console.log("Hola, Juan!");
}
En este caso, el código dentro de las llaves solo se ejecutará si la condición (nombre === "Juan"
) es verdadera.
Sensibilidad a mayúsculas y minúsculas
JavaScript es un lenguaje que diferencia entre mayúsculas y minúsculas (case-sensitive). Esto significa que distingue entre nombre
, Nombre
y NOMBRE
, considerándolos variables diferentes.
let nombre = "Juan";
let Nombre = "Pedro";
console.log(nombre); // Imprime "Juan"
console.log(Nombre); // Imprime "Pedro"
Nombres de variables y normas para nombres
Al nombrar variables en JavaScript, existen ciertas reglas que debemos respetar:
No pueden comenzar con un número. Una variable no puede comenzar con un dígito.
let 1nombre = "Juan"; // Incorrecto let nombre1 = "Juan"; // Correcto
No pueden contener espacios. Los nombres de variables deben ser una sola palabra sin espacios.
let mi nombre = "Juan"; // Incorrecto let miNombre = "Juan"; // Correcto
No pueden incluir símbolos especiales como
!
,@
,#
,%
, entre otros, a excepción del guion bajo (_
) y el símbolo de dólar ($
).let nombre$ = "Juan"; // Correcto let _nombre = "Juan"; // Correcto
Convenciones de estilo. Aunque JavaScript no lo exige, es común usar camelCase para nombres de variables, donde la primera palabra está en minúscula y las palabras adicionales comienzan con mayúsculas:
let miVariableDeEjemplo = "Ejemplo";
Palabras Reservadas
JavaScript tiene una lista de palabras reservadas que no pueden ser utilizadas como nombres de variables, funciones o identificadores.
Algunas palabras reservadas incluyen:
- Control de flujo:
if
,else
,switch
,case
,default
- Ciclos:
for
,while
,do
,break
,continue
- Declaración de variables y funciones:
var
,let
,const
,function
,return
- Manipulación de objetos y clases:
class
,extends
,constructor
,super
- Valores especiales:
null
,undefined
,true
,false
- Operaciones asincrónicas:
async
,await
- Operadores de importación/exportación:
import
,export
- Operadores lógicos y aritméticos:
new
,delete
,typeof
,instanceof
Estas palabras son utilizadas por el lenguaje para funciones específicas y su uso como nombres provocará errores.