
Apuntes de JavaScript
Estilo de codificación

Variables y Constantes
Let: Variables
Const: Constantes
Un nombre de variable puede incluir:
- Letras y dígitos, pero el primer carácter no puede ser un dígito.
- Los caracteres
$
y_
son normales, al igual que las letras. - Los alfabetos no latinos también están permitidos, pero comúnmente no se usan.
Tipos de datos:
number
tanto para números de punto flotante como enteros,bigint
para números enteros de largo arbitrario,string
para textos,boolean
para valores lógicos:true/false
,null
– un tipo con un solo valornull
, que significa “vacío” o “no existe”,undefined
– un tipo con un solo valorundefined
, que significa “no asignado”,object
ysymbol
– para estructuras de datos complejas e identificadores únicos.
El operador typeof
devuelve el tipo de un valor.
Operadores
Aritmeticos
Regulares: * + - /
, tambien %
para los restos y **
para aplicar potencia de un número.
Asignaciones
Asignacion simple: a = b
Asignación combinada: a *= 2
Condicional o Ternario
El único operador con 3 parametros: cond ? resultA : resultB
. Sí cond
es verdadera, devuelve resultA
, de lo contrario resultB
.
“Nullish coalescing”
El operador ??
brinda una forma de elegir el primer valor “definido” de una lista de variables. El resultado de a ?? b
es a
salvo que esta sea null/undefined
, en cuyo caso será b
.
Comparaciones
Revision de igualdad ==
para valores de diferentes tipos los convierte en un número (excepto null
y undefined
que son iguales entre sí y nada más).
El operador de igualdad estricta ===
no realiza la conversión: diferentes tipos de valores siempre significan diferentes valores para ella, así que:
Valores null
y undefined
son especiales: son iguales ==
el uno al otro y no son iguales a nada más.
Funciones
Declaración de función: la función en el flujo del código principal
function sum(a, b) {
let result = a + b;
return result;
}
Expresión de función: la función en el contexto de una expresión
let sum = function(a, b) {
let result = a + b;
return result;
};
Funciones de flecha
let sum = (a, b) => a + b;