Fundamentos del Lenguaje

¿Cuál es la sintaxis básica de JavaScript y cómo se escriben comentarios?

La sintaxis base de JavScript es similar a otros lenguajes de programación, utilizando variables (var, let, const), funciones y operadores. Los comentarios se escriben usando // para comentarios de una sola línea y /* */ para comentarios de múltiples líneas.

¿Qué diferencias hay entre var, let y const?

La diferencia entre var, let y const radica en su alcance y capacidad de reasignacion.
var: alcance global, permite reasignación y redeclaración, y se inicializa como undefined.
let: Tiene alcance de bloque, permite reasignación pero no redeclaración y no necesita inicializarse.
const: Tiene alcance de bloque, no permite reasignación ni redeclaración, y debe inicializarse con un valor que no puede ser modificado posteriormente.

¿Cuáles son los tipos de datos primitivos en JavaScript? Da un ejemplo de cada uno.

Los tipos de datos primitivos en JavaScript son valores básicos que no son objetos y no tienen métodos propios.
String: Representa cadenas de texto. Ejemplo: "Hola" o 'JavaScript'.
Number: Representa valores numéricos (enteros y decimales). Ejemplo: 42 o 3.14.
BigInt: Representa números enteros arbitrariamente grandes. Ejemplo: 123456789012345678901234567890n.
Boolean: Valores lógicos. Ejemplo: true o false.
Symbol: Valores únicos e inmutables, usados para identificar propiedades de objetos. Ejemplo: Symbol('id').
Undefined: Valor asignado automáticamente a variables declaradas sin inicializar. Ejemplo: let x; (donde x es undefined).
Null: Representa la ausencia intencional de valor. Ejemplo: let y = null;

¿Qué diferencia hay entre un array y un objeto en JavaScript?

Los arrays usan índices numéricos (0, 1, 2...) para acceder a elementos, ideal para secuencias ya que mantienen un orden. Los objetos usan claves de tipo string (o símbolos), ideales para mapear nombres a valores.
Se usan arrays para listas de elementos similares (ej. [1, 2, 3]) donde el orden importa.
Se usan objetos para entidades complejas con atributos fijos (ej. {nombre: "Juan", edad: 25}).

¿Qué son y cómo se usan los operadores aritméticos, lógicos y relacionales?

Los operadores aritméticos realizan cálculos matemáticos básicos sobre valores numéricos. Se usan para sumar (+), restar (-), multiplicar (*), dividir (/), obtener el resto o módulo (%), elevar a la potencia ()** e incrementar/decrementar unidades (++/--).

Los operadores lógicos combinan o modifican valores booleanos para evaluar condiciones. El AND (&&) devuelve true solo si ambos operandos son verdaderos. El OR (||) devuelve true si al menos uno de los operandos es verdadero. El NOT (!) invierte el valor booleano de su operando. Estos operadores son escenciales para controlar la toma de decisiones mediante estructuras como if o while.

Los operadores relacionales (o de comparación) comparan dos valores y devuelven un booleano (true o false). Incluyen igualdad (==), identidad estricta (===), desigualdad (!=), desigualdad estricta (!==), y comparaciones de orden (<,>, <=,>=). Hay que distinguir que === verifica tanto el valor como el tipo de dato, mientras que == realiza una conversión de tipos (ej. 5 === "5" devuelve false, pero 5 == "5" devuelve true).

JavaScript