0% encontró este documento útil (0 votos)
95 vistas

El Tutorial de JavaScript Moderno

El documento es un tutorial completo sobre JavaScript moderno, que abarca desde los fundamentos del lenguaje hasta temas avanzados como POO, manejo de errores y promesas. Se divide en varias partes que incluyen el lenguaje JavaScript, el trabajo con el navegador, y artículos adicionales sobre temas diversos. La última actualización fue el 20 de marzo de 2023.

Cargado por

natidevg
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
95 vistas

El Tutorial de JavaScript Moderno

El documento es un tutorial completo sobre JavaScript moderno, que abarca desde los fundamentos del lenguaje hasta temas avanzados como POO, manejo de errores y promesas. Se divide en varias partes que incluyen el lenguaje JavaScript, el trabajo con el navegador, y artículos adicionales sobre temas diversos. La última actualización fue el 20 de marzo de 2023.

Cargado por

natidevg
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 1

!

Comprar EPUB/PDF

El Tutorial de JavaScript Moderno


Cómo se hace ahora. Desde lo básico hasta temas avanzados
con explicaciones simples pero detalladas.

Buscar en el tutorial Buscar

Última actualización el 20 de marzo de 2023

 Comprar EPUB/PDF Compartir:  

432 ★ github  Discord Chat (English)

Tabla de contenidos
El curso principal contiene 2 partes que cubren JavaScript como lenguaje de
programación y el trabajo con un navegador. También hay series adicionales
de artículos temáticos.

PARTE 1 PARTE 2 PARTE 3


El lenguaje El navegador: Artículos
JavaScript Documentos, adicionales
Eventos e
Interfaces

El lenguaje JavaScript

Aquí aprenderemos JavaScript, empezando desde cero y llegaremos hasta conceptos


avanzados como POO.

Nos concentraremos en el lenguaje mismo con el mínimo de notas específicas del


entorno.

Una introducción

1.1 Una introducción a JavaScript 1.3 Editores de Código


1.2 Manuales y especificaciones 1.4 Consola de desarrollador

Fundamentos de JavaScript

2.1 ¡Hola, mundo! 2.9 Comparaciones


2.2 Estructura del código 2.10 Ejecución condicional: if, '?'
2.3 El modo moderno, "use strict" 2.11 Operadores Lógicos
2.4 Variables 2.12 Operador Nullish Coalescing '??'
2.5 Tipos de datos 2.13 Bucles: while y for
2.6 Interacción: alert, prompt, 2.14 La sentencia "switch"
confirm 2.15 Funciones
2.7 Conversiones de Tipos 2.16 Expresiones de función
2.8 Operadores básicos, 2.17 Funciones Flecha, lo básico
matemáticas 2.18 Especiales JavaScript

Calidad del código

3.1 Debugging en el navegador 3.4 Código ninja


3.2 Estilo de codificación 3.5 Test automatizados con Mocha
3.3 Comentarios 3.6 Polyfills y transpiladores

Objetos: lo básico

4.1 Objetos 4.5 Constructor, operador "new"


4.2 Referencias de objetos y copia 4.6 Encadenamiento opcional '?.'
4.3 Recolección de basura 4.7 Tipo Symbol
4.4 Métodos del objeto, "this" 4.8 Conversión de objeto a valor
primitivo

Tipos de datos

5.1 Métodos en tipos primitivos 5.7 Map y Set


5.2 Números 5.8 WeakMap y WeakSet
5.3 Strings 5.9 Object.keys, values, entries
5.4 Arrays 5.10 Asignación desestructurante
5.5 Métodos de arrays 5.11 Fecha y Hora
5.6 Iterables 5.12 Métodos JSON, toJSON

Trabajo avanzado con funciones

6.1 Recursión y pila 6.7 La sintaxis "new Function"


6.2 Parámetros Rest y operador 6.8 Planificación: setTimeout y
Spread setInterval
6.3 Ámbito de Variable y el concepto 6.9 Decoradores y redirecciones,
"closure" call/apply
6.4 La vieja "var" 6.10 Función bind: vinculación de
6.5 Objeto Global funciones
6.6 Función como objeto, NFE 6.11 Funciones de flecha revisadas

Configuración de las propiedades de objetos

7.1 Indicadores y descriptores de 7.2 "Getters" y "setters" de


propiedad propiedad

Prototipos y herencia

8.1 Herencia prototípica 8.3 Prototipos nativos


8.2 F.prototype 8.4 Métodos prototipo, objetos sin
__proto__

Clases

9.1 Sintaxis básica de `class` 9.5 Ampliación de clases integradas


9.2 Herencia de clase 9.6 Comprobación de clase:
9.3 Propiedades y métodos "instanceof"
estáticos. 9.7 Los Mixins
9.4 Propiedades y métodos privados
y protegidos.

Manejo de errores

10.1 Manejo de errores, "try...catch" 10.2 Errores personalizados,


extendiendo Error

Promesas y async/await

11.1 Introducción: callbacks 11.5 Promise API


11.2 Promesa 11.6 Promisificación
11.3 Encadenamiento de promesas 11.7 Microtareas (Microtasks)
11.4 Manejo de errores con promesas 11.8 Async/await

Generadores e iteración avanzada

12.1 Generadores 12.2 Iteradores y generadores


asíncronos

Módulos

13.1 Módulos, introducción 13.3 Importaciones dinámicas


13.2 Export e Import

Temas diversos

14.1 Proxy y Reflect 14.4 Tipo de Referencia


14.2 Eval: ejecutando una cadena de 14.5 BigInt
código 14.6 Unicode, String internals
14.3 Currificación

El navegador: Documentos, Eventos e Interfaces

Aprenderemos a manejar la página del navegador: agregar elementos, manipular su


tamaño y posición, crear interfaces dinámicamente e interactuar con el visitante.

Documento

1.1 Entorno del navegador, 1.6 Atributos y propiedades


especificaciones 1.7 Modificando el documento
1.2 Árbol del Modelo de Objetos del 1.8 Estilos y clases
Documento (DOM) 1.9 Tamaño de elementos y
1.3 Recorriendo el DOM desplazamiento
1.4 Buscar: getElement*, 1.10 Tamaño de ventana y
querySelector* desplazamiento
1.5 Propiedades del nodo: tipo, 1.11 Coordenadas
etiqueta y contenido

Introducción a los eventos

2.1 Introducción a los eventos en el 2.4 Acciones predeterminadas del


navegador navegador
2.2 Propagación y captura 2.5 Envío de eventos personalizados
2.3 Delegación de eventos

Eventos en la UI

3.1 Eventos del Mouse 3.3 Arrastrar y Soltar con eventos del
3.2 Moviendo el mouse: ratón
mouseover/out, 3.4 Eventos de puntero
mouseenter/leave 3.5 Teclado: keydown y keyup
3.6 Desplazamiento

Formularios y controles

4.1 Propiedades y Métodos de 4.3 Eventos: change, input, cut, copy,


Formularios paste
4.2 Enfocado: enfoque/desenfoque 4.4 Formularios: evento y método
submit

El documento y carga de recursos

5.1 Página: DOMContentLoaded, 5.3 Carga de recursos: onload y


load, beforeunload, unload onerror
5.2 Scripts: async, defer

Temas diversos

6.1 Mutation observer 6.3 Loop de eventos: microtareas y


6.2 Selection y Range macrotareas

Artículos adicionales

Lista de temas adicionales que supone que ha cubierto las dos primeras partes del
tutorial. Aquí no hay una jerarquía clara, puede leer los artículos en el orden que desee.

Marcos y ventanas

1.1 Ventanas emergentes y métodos 1.2 Comunicación entre ventanas


de ventana 1.3 El ataque de secuestro de clics

Datos binarios y archivos

2.1 ArrayBuffer, arrays binarios 2.3 Blob


2.2 TextDecoder y TextEncoder 2.4 File y FileReader

Solicitudes de red

3.1 Fetch 3.7 Objetos URL


3.2 FormData 3.8 XMLHttpRequest
3.3 Fetch: Progreso de la descarga 3.9 Carga de archivos reanudable
3.4 Fetch: Abort 3.10 Sondeo largo
3.5 Fetch: Cross-Origin Requests 3.11 WebSocket
3.6 Fetch API 3.12 Eventos enviados por el servidor

Almacenando datos en el navegador

4.1 Cookies, document.cookie 4.3 IndexedDB


4.2 LocalStorage, sessionStorage

Animaciones

5.1 Curva de Bézier 5.3 Animaciones JavaScript


5.2 Animaciones CSS

Componentes Web

6.1 Desde la altura orbital 6.5 Shadow DOM slots, composición


6.2 Elementos personalizados 6.6 Estilo Shadow DOM
6.3 Shadow DOM 6.7 Shadow DOM y eventos
6.4 Elemento template

Expresiones Regulares

7.1 Patrones y banderas (flags) 7.10 Cuantificadores codiciosos y


7.2 Clases de caracteres perezosos
7.3 Unicode: bandera "u" y clase 7.11 Grupos de captura
\p{...} 7.12 Referencias inversas en patrones:
7.4 Anclas: inicio ^ y final $ de \N y \k<nombre>
cadena 7.13 Alternancia (O) |
7.5 Modo multilínea de anclas ^ $, 7.14 Lookahead y lookbehind (revisar
bandera "m" delante/detrás)
7.6 Límite de palabra: \b 7.15 Backtracking catastrófico
7.7 Escapando, caracteres especiales 7.16 Indicador adhesivo “y”, buscando
7.8 Conjuntos y rangos [...] en una posición.
7.9 Cuantificadores +, *, ? y {n} 7.17 Métodos de RegExp y String

Compartir    Mapa del Tutorial

 Comentarios
● Si tiene sugerencias sobre qué mejorar, por favor enviar una propuesta de
GitHub o una solicitud de extracción en lugar de comentar.
● Si no puede entender algo en el artículo, por favor explique.
● Para insertar algunas palabras de código, use la etiqueta <code> , para varias
líneas – envolverlas en la etiqueta <pre> , para más de 10 líneas – utilice una
entorno controlado (sandbox) (plnkr, jsbin, codepen…)

© 2007—2023 Ilya Kantor

acerca del proyecto

contáctenos

También podría gustarte