En el corazón de cualquier lenguaje de programación se encuentran su sintaxis y los tipos de datos que maneja. JavaScript no es la excepción. Este capítulo explorará los fundamentos de la sintaxis de JavaScript, cómo declarar variables y los diferentes tipos de datos disponibles, ilustrado todo con ejemplos prácticos.
La sintaxis de JavaScript es el conjunto de reglas que define la estructura del código. Vamos a desglosarlo con algunos ejemplos:
– Declaraciones: Cada línea de código que realiza alguna acción se llama declaración y, por lo general, termina en punto y coma (;
), aunque es opcional en JavaScript debido a la inserción automática de punto y coma.
let name = 'Alice'; // Declaración de una variable
console.log(name); // Llamada a una función
– Comentarios: Los comentarios son cruciales para explicar el código. Pueden ser de una sola línea o múltiples líneas.
// Este es un comentario de una sola línea
/* Este es un comentario
de múltiples líneas */
– Bloques de Código: Se utilizan llaves {}
para definir bloques de código, especialmente en funciones, bucles, condicionales, etc.
if (name === 'Alice') {
console.log('Hello, Alice!');
}
Las variables son fundamentales en cualquier lenguaje de programación, y JavaScript ofrece varias formas de declararlas, cada una con sus propias características.
Declaración de Variables:
– var
: Históricamente usada para declarar variables, con un ámbito de función o global.
var oldVariable = 'I am old';
- let
: Introducido en ES6, tiene un ámbito de bloque, lo que lo hace más predecible y seguro.
let newVariable = 'I am new';
- const
: También con ámbito de bloque, se usa para declarar variables que no deben cambiar después de su asignación inicial.
const pi = 3.14159;
JavaScript automáticamente determina el tipo de dato de una variable en tiempo de ejecución. Los tipos de datos básicos son:
Primitivos:
– Número: Incluye enteros y flotantes.
let age = 30;
let price = 19.99;
Cadena de Texto (String): Para representar texto
let greeting = 'Hello, world!';
Booleano: Representa valores lógicos verdadero o falso.
let isActive = true;
Undefined: Una variable declarada que aún no tiene un valor asignado.
let result;
console.log(result); // Muestra 'undefined'
Null: Un valor especial que representa «ningún valor».
let empty = null;
Symbol: Un identificador único que puede ser creado.
let id = Symbol('id');
Objetos:
– Los objetos almacenan colecciones de datos y más complejidades funcionales
let person = {
name: 'Alice',
age: 25,
greet: function() { console.log('Hello, ' + this.name); }
};
Al aprender cualquier lenguaje de programación, entender cómo manipular datos y controlar el flujo del programa es fundamental. En JavaScript, esto se logra a través de operadores, expresiones y estructuras de control. Este capítulo desglosa cada uno de estos componentes con ejemplos claros y concisos.
Las expresiones son combinaciones de valores, variables y operadores que, una vez evaluadas, producen otro valor. Los operadores son símbolos que le dicen al compilador o intérprete que realice operaciones matemáticas, lógicas, o de otro tipo, resultando en una expresión.
Operadores Aritméticos:
– Suma (+
), resta (-
), multiplicación (*
), y división (/
) son los más básicos y se utilizan para realizar cálculos matemáticos.
let sum = 10 + 5; // 15
let difference = 10 - 5; // 5
let product = 10 * 5; // 50
let quotient = 10 / 5; // 2
El operador módulo (%
) devuelve el residuo de una división.
let remainder = 10 % 3; // 1
Operadores de Asignación:
– El operador de asignación (=
) asigna un valor a una variable.
let x = 10;
También existen operadores de asignación compuestos que combinan aritmética con asignación: +=
, -=
, *=
, /=
, y %=
.
x += 5; // x ahora es 15
Operadores de Comparación:
– Operadores como igual (==
), no igual (!=
), igual estricto (===
), y no igual estricto (!==
) se utilizan para comparar dos valores.
let isEqual = (10 == '10'); // true
let isStrictlyEqual = (10 === '10'); // false
Operadores Lógicos:
– Incluyen AND (&&
), OR (||
), y NOT (!
) y son fundamentales en la toma de decisiones dentro del código.
let isAdult = (age >= 18 && age <= 65);
Las estructuras de control permiten dirigir el flujo de ejecución del programa de acuerdo a condiciones lógicas o repeticiones definidas.
– Condicionales:
- if
, else if
, y else
:
if (age > 18) {
console.log('Adulto');
} else if (age == 18) {
console.log('Justo 18');
} else {
console.log('Menor de edad');
}
switch
: Útil para cuando hay múltiples condiciones basadas en una sola variable.
switch (fruit) {
case 'manzana':
console.log('Rojo');
break;
case 'banana':
console.log('Amarillo');
break;
default:
console.log('Color desconocido');
}
Bucles:
– while
: Ejecuta un bloque de código mientras la condición sea verdadera.
let i = 0;
while (i < 5) {
console.log(i);
i++;
}
- for
: Útil para ejecutar un bloque de código un número específico de veces.
for (let i = 0; i < 5; i++) {
console.log(i);
}
– do...while
: Similar al bucle while
, pero garantiza que el cuerpo del bucle se ejecute al menos una vez.
let j = 0;
do {
console.log(j);
j++;
} while (j < 5);