Fundamentos del lenguaje
43 pasos en 10 series de JavaScript.
Cuarenta y tres pasos del lenguaje en sí, sin navegador y sin Node. Vinculaciones, texto, control de flujo, funciones, arreglos, objetos, clases, errores y JSON.
Es el tour de JavaScript más largo de aquí porque el lenguaje ha acumulado mucho y nada se ha eliminado jamás. Aprender qué subconjunto escribir es la mayor parte de la habilidad, y eso empieza por haber tecleado las opciones.
Vinculaciones y valores
- Variables y plantillas literalesVinculaciones e interpolación de cadenas: lo moderno por defecto.
- let, const y la zona muertaAlcance de bloque, y por qué un let es inusable antes de su declaración.
- Igualdad y coerción=== compara sin convertir; == convierte primero, y sorprende.
- Encadenamiento opcional y nullish?. se detiene en null o undefined; ?? solo recurre al respaldo con esos dos.
- NúmerosUn solo tipo flotante: los chequeos de enteros y la precisión piden cuidado.
Texto
- Métodos de cadenasLos métodos que vale la pena conocer, incluidos los más nuevos.
- Plantillas literalesInterpolación, cadenas multilínea y la forma etiquetada.
- Title casePone mayúscula inicial a cada palabra, con las palabras cortas que la mayoría implementa mal.
- Bytes legiblesConvierte un conteo de bytes en algo que una persona pueda leer.
- RGB a hexConvierte entre las dos notaciones de color que acepta CSS.
Control de flujo
- Bucles e iteraciónfor...of, el for clásico e iterar las entradas de un objeto.
- FizzBuzzEl clásico ejercicio de entrevista para bucles y condicionales.
- Generador de rangosUn generador que produce números de forma perezosa; un rango enorme no cuesta nada.
Funciones
- Funciones y clausurasDeclaraciones, flechas, valores por defecto, rest y clausuras.
- DesestructuraciónExtraer valores de objetos y arreglos según su forma.
- Desestructuración, más a fondoValores por defecto, renombres, anidación y desarmar parámetros de función.
Arreglos
- Métodos de arreglosLos métodos de iteración que reemplazan la mayoría de los bucles for.
- Iterar arreglosEl método decide qué vuelve: un valor, un booleano o un arreglo nuevo.
- Copiar en lugar de mutarLos métodos de 2023 devuelven un arreglo nuevo donde los viejos editaban en el lugar.
- Partir un arregloParte un arreglo en piezas de tamaño fijo, para agrupar peticiones o armar una cuadrícula.
- Aplanar arreglos anidadosAplana arreglos anidados a cualquier profundidad, de forma recursiva.
- Únicos por claveElimina duplicados según una clave calculada, no por identidad.
- Zip de arreglosEmpareja arreglos paralelos en tuplas y se detiene en el más corto.
- Barajado Fisher-YatesFisher-Yates, el barajado realmente uniforme, a diferencia de ordenar con un comparador aleatorio.
- MedianaEl valor del medio, que exige ordenar y decidir qué hacer con entradas de longitud par.
- Búsqueda binariaDivide el rango a la mitad en cada paso; mil elementos toman diez comparaciones.
Objetos y colecciones
- ObjetosSpread, inspección y lectura segura de objetos.
- Trabajar con objetosClaves, valores, entradas, spread y los dos tipos de congelado.
- Map y SetColecciones con claves de cualquier tipo, y conjuntos de valores únicos.
- Map, Set y sus primos débilesMap acepta cualquier clave y recuerda el orden de inserción; WeakMap no retiene referencias.
- Agrupar por claveConvierte un arreglo plano en un objeto indexado por lo que extraigas de cada elemento.
- Contar por claveCuenta cuántos elementos caen bajo cada clave calculada.
- Igualdad superficial de objetosCompara objetos a un nivel de profundidad, justo lo que necesita un chequeo de re-render.
- Clonación profundaCopia una estructura anidada para que cambiar la copia no toque el original.
Clases
- ClasesLa sintaxis de clases con herencia y miembros estáticos.
- Clases, la parte modernaDeclaración de campos, miembros privados, bloques static y accesores.
- Extender una claseextends, super y cómo instanceof ve la cadena.
Errores
- Errores personalizadosHeredar de Error para llevar datos estructurados de la falla.
- Errores que llevan una causaUna subclase propia de Error, con el original adjunto.
Formatos de datos
- JSONSerializar y parsear, con manejo de errores.
- Expresiones regularesCoincidir, extraer y reemplazar con literales de regex.
- Parsear una query stringDescompone una query string en un objeto, claves repetidas incluidas.
Bis
- word-count.jsUn script completo de frecuencia de palabras: leer un archivo, normalizar, contar, reportar.