En esta página
Variables y tipos de datos
Variables
JavaScript tiene tres formas de declarar variables: const, let y var. En JavaScript moderno, preferimos const por defecto y let cuando necesitamos reasignar.
const vs let
const— No se puede reasignar. Usala siempre que puedaslet— Se puede reasignar. Usala solo cuando necesites cambiar el valorvar— Evitala. Tiene comportamientos problematicos
Tipos primitivos
JavaScript tiene 7 tipos primitivos:
| Tipo | Ejemplo | Descripcion |
|---|---|---|
string |
'Hola' |
Cadenas de texto |
number |
42, 3.14 |
Numeros (enteros y decimales) |
boolean |
true, false |
Verdadero o falso |
null |
null |
Ausencia intencional de valor |
undefined |
undefined |
Variable sin valor asignado |
symbol |
Symbol('id') |
Identificador único |
bigint |
9007199254740991n |
Enteros grandes |
Tipado dinámico
JavaScript es de tipado dinámico: una variable puede contener cualquier tipo de valor y cambiar de tipo en tiempo de ejecución. Esto es flexible pero puede causar errores sutiles.
El operador typeof
El operador typeof permite verificar el tipo de un valor en tiempo de ejecución. Es útil para validaciones y depuracion.
Nota:
typeof nullretorna"object"— esto es un bug historico de JavaScript que nunca se corrigio por compatibilidad.
Práctica
- Declara variables con const y let: Crea una constante
NOMBRE_APPcon el valor'Mi App'y una variablecontadorcon valor0. Reasignacontadora5y verifica queNOMBRE_APPno se puede reasignar. - Identifica tipos con typeof: Declara una variable de cada tipo primitivo (
string,number,boolean,null,undefined) y usatypeofpara imprimir el tipo de cada una en consola. - Explora el tipado dinamico: Crea una variable con
letasignandole unnumber, luego reasignala a unstring. Usatypeofantes y despues de la reasignacion para observar el cambio de tipo.
En la siguiente leccion aprenderemos sobre funciones en JavaScript.
Evita var
Nunca uses var en código moderno. Tiene problemas de scope (function-scoped en vez de block-scoped) y hoisting que causan bugs dificiles de detectar.
// const - no se puede reasignar
const nombre = 'Carlos';
const PI = 3.14159;
// let - se puede reasignar
let contador = 0;
contador = 1;
// Tipos primitivos
const texto = 'Hola mundo'; // string
const edad = 25; // number
const activo = true; // boolean
const vacio = null; // null
let indefinido; // undefined
// typeof
console.log(typeof texto); // "string"
console.log(typeof edad); // "number"
console.log(typeof activo); // "boolean"
console.log(typeof vacio); // "object" (bug historico!)
Inicia sesión para guardar tu progreso