javascript-sintaxis-basica

Sintaxis básica de JavaScript

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).

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:

  1. No pueden comenzar con un número. Una variable no puede comenzar con un dígito.

    let 1nombre = "Juan"; // Incorrecto
    let nombre1 = "Juan"; // Correcto
  2. No pueden contener espacios. Los nombres de variables deben ser una sola palabra sin espacios.

    let mi nombre = "Juan"; // Incorrecto
    let miNombre = "Juan"; // Correcto
  3. 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
  4. 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.