Fundamentos de Sintaxis, Variables y Operadores en JavaScript

JavaScript comparte similitudes sintácticas con lenguajes como Java, pero posee características propias que todo desarrollador debe conocer. A continuación, se detallan los pilares fundamentales de su sintaxis, manejo de variables, tipos de datos y operadores.

Reglas Sintácticas Básicas

  • Sensibilidad a mayúsculas y minúsculas: Los identificadores de variables, funciones y palabras reservadas distinguen estrictamente entre mayúsculas y minúsculas.
  • Punto y coma: Su uso al final de cada instrucción es opcional gracias a la inserción automática, aunque se recomienda encarecidamente para mantener la consistencia y evitar errores de parseo.
  • Comentarios: Se utilizan // para comentarios de una sola línea y /* ... */ para bloques de varias líneas.
  • Bloques de código: Las llaves {} delimitan bloques de instrucciones.

Mecanismos de Salida de Datos

Para mostrar información, el lenguaje ofrece tres métodos principales dependiendo del contexto de ejecución:

<script>
  // Muestra un cuadro de diálogo nativo en el navegador
  window.alert("Bienvenido al sistema");

  // Inyecta contenido directamente en el documento HTML
  document.write("<h1>Contenido dinámico</h1>");

  // Registra mensajes en la consola de herramientas de desarrollo
  console.log("Depuración: Módulo cargado correctamente");
</script>

Declaración y Gestión de Variables

Al ser un lenguaje de tipado dinámico, una misma variable puede almacenar valores de distinta naturaleza durante su ciclo de vida. Históricmaente se usaba var, pero las versiones modernas (ES6 en adelante) introdujeron let y const.

let usuarioActivo = "Carlos";
usuarioActivo = 42; // Válido debido al tipado dinámico

const MAX_INTENTOS = 3; // Constante, no puede ser reasignada

Normas para identificadores:

  1. Pueden contener letras, dígitos, guiones bajos (_) y el símbolo de dólar ($).
  2. No pueden iniciar con un número.
  3. Se recomienda adoptar la convención camelCase.

Diferencias clave entre var, let y const:

  • var: Tiene alcance de función o global, y permite redeclaraciones, lo que puede causar efectos secundarios inesperados.
  • let: Posee alcance de bloque y prohíbe la redeclaración en el mismo ámbito.
  • const: Similar a let, pero exige inicialización y bloquea la reasignación de la referencia.

Tipos de Datos

Los datos se clasifican en primitivos y de referencia. Los tipos primitivos incluyen:

  • Number: Representa enteros, decimales y el valor especial NaN (Not a Number).
  • String: Cadenas de texto delimitadas por comillas simples, dobles o backticks.
  • Boolean: Valores lógicos true o false.
  • Null: Ausencia intencional de un valor de objeto.
  • Undefined: Valor por defecto de una variable declarada pero no inicializada.

El operador typeof permite inspeccionar el tipo de dato en tiempo de ejecución.

Operadores

El lenguaje soporta los operadores estándar:

  • Aritméticos: +, -, *, /, %, ++, --.
  • De asignación: =, +=, -=, *=, /=, %=.
  • Lógicos: AND (&&), OR (||), NOT (!).
  • Ternario: condicion ? valorSiVerdadero : valorSiFalso.

Comparación estricta vs. abstracta:
Es crucial distinguir entre == (igualdad abstracta, realiza coerción de tipos) y === (igualdad estricta, evalúa tipo y valor simultáneamente).

let precio = 50;
console.log(precio == "50");   // true (convierte el string a número)
console.log(precio === "50");  // false (los tipos difieren)
console.log(precio === 50);    // true

Coerción y Conversión de Tipos

Transformar cadenas a valores numéricos se logra mediante funciones de parseo. Si la conversión falla, el resultado es NaN.

console.log(parseInt("85"));        // 85
console.log(parseInt("85px"));      // 85 (ignora los caracteres no numéricos finales)
console.log(parseInt("texto"));     // NaN

Reglas de conversión a Boolean:

  • Números: 0 y NaN se evalúan como false; cualquier otro número es true.
  • Cadenas: La cadena vacía "" es false; el resto es true.
  • Nulos e indefinidos: Tanto null como undefined se resuelven como false.

Etiquetas: JavaScript ES6 sintaxis TiposDeDatos operadores

Publicado el 10-11 10:59