CINXE.COM

<!DOCTYPE html><html lang="es" data-theme-enabled="1"><head><script>window.currentUser = null;</script><script>window.shopCurrency = "EUR";</script><script>window.localCurrency = "EUR";</script><script>window.countryCode = "ar";</script><script>window.rateShopTo = {"EUR":1,"USD":1.0874494200088518,"AMD":424.1827578369761};</script><title itemprop="name">El Tutorial de JavaScript Moderno</title><link href="/pack/styles.100020a0bc7cf13be729.css" rel="stylesheet"><meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=yes, minimum-scale=1.0"><meta name="apple-mobile-web-app-capable" content="yes"><!-- chrome autotranslate is enabled only for "en" main version--><meta name="google" content="notranslate"><script>if (window.devicePixelRatio > 1) document.cookie = 'pixelRatio=' + window.devicePixelRatio + ';path=/;expires=Tue, 19 Jan 2038 03:14:07 GMT';</script><link href="//fonts.googleapis.com/css?family=Open+Sans:bold,italic,bolditalic" rel="stylesheet"><link rel="apple-touch-icon-precomposed" href="/img/favicon/apple-touch-icon-precomposed.png"><link rel="canonical" href="https://es.javascript.info/"><meta name="msapplication-TileColor" content="#222A2C"><meta name="msapplication-TileImage" content="/img/favicon/tileicon.png"><link rel="icon" href="/img/favicon/favicon.png"><meta itemprop="image" content="https://es.javascript.info/img/site_preview_en_512x512.png"><meta property="og:title" content="El Tutorial de JavaScript Moderno"><meta property="og:image" content="https://es.javascript.info/img/site_preview_en_1200x630.png"><meta property="og:image:type" content="image/png"><meta property="og:image:width" content="1200"><meta property="og:image:height" content="630"><meta property="fb:admins" content="100001562528165"><meta name="twitter:card" content="summary"><meta name="twitter:title" content="El Tutorial de JavaScript Moderno"><meta name="twitter:site" content="@iliakan"><meta name="twitter:creator" content="@iliakan"><meta name="twitter:image" content="https://es.javascript.info/img/site_preview_en_512x512.png"><meta name="google-adsense-account" content="ca-pub-6204518652652613"><script data-collect-dnt="true" async src="https://scripts.simpleanalyticscdn.com/latest.js"></script><script>window.GA_ID = "UA-2056213-15";</script><script>window.YANDEX_METRIKA_ID = 32184394;</script><script>{function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-2LWB61WGYJ")}</script> <script async src="https://www.googletagmanager.com/gtag/js?id=G-2LWB61WGYJ"></script><script>window.metrika={reachGoal:function(){}},window.yandex_metrika_callbacks=[function(){try{window.metrika=new Ya.Metrika({id:YANDEX_METRIKA_ID,webvisor:!0,clickmap:!0,params:{user:window.currentUser&&window.currentUser.id}}),metrika.trackLinks({delay:150}),window.addEventListener("error",function(r){window.metrika.reachGoal("JSERROR",{src:(r.filename||r.errorUrl)+": "+(r.lineno||r.errorLine),stack:r.stack||r.error&&r.error.stack,message:r.message})})}catch(r){}}];</script><script src="//mc.yandex.ru/metrika/watch.js" async></script><script>window.RECAPTCHA_ID = "6LfmLAEVAAAAAJMykMnf7aY8nkyTRmYi2ynx51R1";</script><script src="/pack/init.bfbd8f163f7371f4e613.js"></script><script src="/pack/head.f0ef0d46af631501e6b2.js" defer></script><script src="/pack/tutorial.7c36b8184a7e0fd79e5d.js" defer></script><script src="/pack/frontpage.bf8788bf197f772e85bd.js" defer></script><link href="/pack/frontpage.334742fced5999da25f0.css" rel="stylesheet"><meta name="description" content="Tutorial de JavaScript moderno: explicaciones simples pero detalladas con ejemplos y tareas, que incluyen: closures, documentos y eventos, programación orientada a objetos y más."><script src="/pack/footer.d61f12af96e4007b382f.js" defer></script></head><body class="no-icons"><script>window.fontTest();</script><div class="page-wrapper"><!--[if IE]><div style="color:red;text-align:center">Lo sentimos, Internet Explorer no es compatible. Utilice un navegador más nuevo.</div><![endif]--><div class="sitetoolbar"><div class="sitetoolbar__content"><div class="sitetoolbar__lang-switcher"><button class="sitetoolbar__dropdown-button" data-dropdown-toggler>ES</button><div class="sitetoolbar__dropdown-wrap"><div class="sitetoolbar__dropdown-body"><div class="sitetoolbar__lang-switcher-body"><div class="supported-langs supported-langs_toolbar"><div class="supported-langs__container"><ul class="supported-langs__list" style="height:200px"><li class="supported-langs__item"><a class="supported-langs__link" href="https://ar.javascript.info/"><span class="supported-langs__brief">AR</span><span class="supported-langs__title">عربي</span></a></li><li class="supported-langs__item"><a class="supported-langs__link" href="https://javascript.info/"><span class="supported-langs__brief">EN</span><span class="supported-langs__title">English</span></a></li><li class="supported-langs__item supported-langs__item_current"><a class="supported-langs__link" href="https://es.javascript.info/"><span class="supported-langs__brief">ES</span><span class="supported-langs__title">Español</span></a></li><li class="supported-langs__item"><a class="supported-langs__link" href="https://fa.javascript.info/"><span class="supported-langs__brief">FA</span><span class="supported-langs__title">فارسی</span></a></li><li class="supported-langs__item"><a class="supported-langs__link" href="https://fr.javascript.info/"><span class="supported-langs__brief">FR</span><span class="supported-langs__title">Français</span></a></li><li class="supported-langs__item"><a class="supported-langs__link" href="https://id.javascript.info/"><span class="supported-langs__brief">ID</span><span class="supported-langs__title">Indonesia</span></a></li></ul><ul class="supported-langs__list" style="height:200px"><li class="supported-langs__item"><a class="supported-langs__link" href="https://it.javascript.info/"><span class="supported-langs__brief">IT</span><span class="supported-langs__title">Italiano</span></a></li><li class="supported-langs__item"><a class="supported-langs__link" href="https://ja.javascript.info/"><span class="supported-langs__brief">JA</span><span class="supported-langs__title">日本語</span></a></li><li class="supported-langs__item"><a class="supported-langs__link" href="https://ko.javascript.info/"><span class="supported-langs__brief">KO</span><span class="supported-langs__title">한국어</span></a></li><li class="supported-langs__item"><a class="supported-langs__link" href="https://learn.javascript.ru/"><span class="supported-langs__brief">RU</span><span class="supported-langs__title">Русский</span></a></li><li class="supported-langs__item"><a class="supported-langs__link" href="https://tr.javascript.info/"><span class="supported-langs__brief">TR</span><span class="supported-langs__title">Türkçe</span></a></li><li class="supported-langs__item"><a class="supported-langs__link" href="https://uk.javascript.info/"><span class="supported-langs__brief">UK</span><span class="supported-langs__title">Українська</span></a></li></ul><ul class="supported-langs__list" style="height:20px"><li class="supported-langs__item"><a class="supported-langs__link" href="https://zh.javascript.info/"><span class="supported-langs__brief">ZH</span><span class="supported-langs__title">简体中文</span></a></li></ul></div><div class="supported-langs__text"><p>Queremos que este proyecto de código abierto esté disponible para personas de todo el mundo.</p> <p><a href="https://javascript.info/translate">Ayuda a traducir</a> el contenido de este tutorial a tu idioma!</p> </div></div></div></div></div></div><div class="sitetoolbar__logo-wrap"><a class="sitetoolbar__link sitetoolbar__link_logo" href="/"><img class="sitetoolbar__logo sitetoolbar__logo_normal" src="/img/sitetoolbar__logo_en.svg" width="200" alt="" role="presentation"/><img class="sitetoolbar__logo sitetoolbar__logo_normal sitetoolbar__logo_dark" src="/img/sitetoolbar__logo_en-white.svg" width="200" alt="" role="presentation"/><img class="sitetoolbar__logo sitetoolbar__logo_small" src="/img/sitetoolbar__logo_small_en.svg" width="70" alt="" role="presentation"/><img class="sitetoolbar__logo sitetoolbar__logo_small sitetoolbar__logo_dark" src="/img/sitetoolbar__logo_small_en-white.svg" width="70" alt="" role="presentation"/><script>Array.prototype.forEach.call(document.querySelectorAll("img.sitetoolbar__logo"),function(e){let t=document.createElement("object");t.type="image/svg+xml",t.className=e.className,t.style.cssText="left:0;top:0;position:absolute",t.onload=function(){t.onload=null,e.style.visibility="hidden"},t.data=e.src,e.parentNode.insertBefore(t,e)});</script></a></div><div class="sitetoolbar__nav-toggle-wrap"><button class="sitetoolbar__nav-toggle" type="button"></button></div><nav class="sitetoolbar__sections"><ul class="sitetoolbar__sections-list"></ul></nav><div class="sitetoolbar__right-button-wrap"><a class="sitetoolbar-right-button sitetoolbar-right-button_courses" href="/ebook"><span class="sitetoolbar-right-button__extra-text">Comprar</span>EPUB/PDF</a></div><div class="sitetoolbar__theme-switcher"><div class="theme-changer"><label class="theme-changer__label" for="theme-changer-input" data-tooltip="Change theme"><input class="theme-changer__input" type="checkbox" id="theme-changer-input" data-theme-changer="data-theme-changer"/><span class="theme-changer__icon theme-changer__icon_light-theme"></span><span class="theme-changer__icon theme-changer__icon_dark-theme"></span></label></div></div><div class="sitetoolbar__search-wrap"><div class="sitetoolbar__search-content"><button class="sitetoolbar__search-toggle" type="button"></button><form class="sitetoolbar__search" method="GET" action="/search"><div class="sitetoolbar__search-input"><div class="text-input"><input class="text-input__control" name="query" placeholder="Buscar en Javascript.info" required="required" type="text"/></div><button class="sitetoolbar__find" type="submit">Buscar</button></div></form></div></div></div><div class="tablet-menu"><div class="tablet-menu__line"><div class="tablet-menu__content"><form class="tablet-menu-search" action="/search/"><input class="tablet-menu-search__input" type="search" name="query" placeholder="Buscar en el tutorial" required="required"/><button class="tablet-menu-search__button" type="submit" name="type" value="articles">Buscar</button></form></div></div><div class="tablet-menu__line"><div class="tablet-menu__content"><a class="map" href="/tutorial/map" data-action="tutorial-map"><span class="map__text">Mapa del Tutorial</span></a></div></div><div class="tablet-menu__line"><div class="tablet-menu__content"><div class="theme-changer theme-changer_tablet-menu theme-changer_has-label"><label class="theme-changer__label" for="theme-changer-input-tablet" data-tooltip="Change theme"><input class="theme-changer__input" type="checkbox" id="theme-changer-input-tablet" data-theme-changer="data-theme-changer"/><span class="theme-changer__icon theme-changer__icon_light-theme"></span><span class="theme-changer__icon theme-changer__icon_dark-theme"></span><span class="theme-changer__label-text theme-changer__label-text_light-theme">Light theme</span><span class="theme-changer__label-text theme-changer__label-text_dark-theme">Dark theme</span></label></div></div></div><div class="tablet-menu__line"><div class="tablet-menu__content"><div class="share-icons"><span class="share-icons__title">Compartir</span><a class="share share_tw" href="https://twitter.com/share?url=https%3A%2F%2Fes.javascript.info%2F" rel="nofollow"></a><a class="share share_fb" href="https://www.facebook.com/sharer/sharer.php?s=100&amp;p%5Burl%5D=https%3A%2F%2Fes.javascript.info%2F" rel="nofollow"></a></div></div></div><div class="tablet-menu__line"><div class="tablet-menu__content"><select class="tablet-menu__nav input-select input-select input-select_small" onchange="if(this.value) window.location.href=this.value"><option value="https://ar.javascript.info/">عربي</option><option value="https://javascript.info/">English</option><option value="https://es.javascript.info/" selected>Español</option><option value="https://fa.javascript.info/">فارسی</option><option value="https://fr.javascript.info/">Français</option><option value="https://id.javascript.info/">Indonesia</option><option value="https://it.javascript.info/">Italiano</option><option value="https://ja.javascript.info/">日本語</option><option value="https://ko.javascript.info/">한국어</option><option value="https://learn.javascript.ru/">Русский</option><option value="https://tr.javascript.info/">Türkçe</option><option value="https://uk.javascript.info/">Українська</option><option value="https://zh.javascript.info/">简体中文</option></select></div></div></div></div><div class="page page_contains_header"><script>if(localStorage.noSidebar){document.querySelector(".page").classList.remove("page_sidebar_on");let e=document.querySelector(".page-wrapper");e&&e.classList.remove("page-wrapper_sidebar_on")}setTimeout(function(){document.querySelector(".page").classList.add("page_sidebar-animation-on")});</script><div class="frontpage-banner"><div class="frontpage-banner__inner"><div class="frontpage-banner__info"><div class="frontpage-banner__col"><h1 class="frontpage-banner__title">El Tutorial de JavaScript Moderno</h1><p class="frontpage-banner__text frontpage-banner__text_lg">Cómo se hace ahora. Desde lo básico hasta temas avanzados con explicaciones simples pero detalladas.</p><form class="frontpage-search" action="/search/"><div class="text-input text-input_big"><input class="text-input__frontpage-search__input text-input__control" type="search" name="query" placeholder="Buscar en el tutorial" required="required"/></div><button class="frontpage-search__button button button_action button_big" type="submit" name="type" value="article">Buscar</button></form></div><div class="frontpage-banner__col"><div class="frontpage-banner__updated-at">Última actualización el 19 de marzo de 2025</div><div class="frontpage-banner__list"><a class="frontpage-banner__list-item" href="/ebook"><i class="frontpage-banner__buy-ebook"></i><span>Comprar</span><span>EPUB/PDF</span></a><div class="frontpage-banner__list-item"><div class="frontpage-share"><span class="frontpage-share__title">Compartir:</span><a class="frontpage-share__icon frontpage-share__icon_tw" href="https://twitter.com/share?url=https%3A%2F%2Fes.javascript.info%2F" rel="nofollow"></a><a class="frontpage-share__icon frontpage-share__icon_fb" href="https://www.facebook.com/sharer/sharer.php?s=100&amp;p%5Burl%5D=https%3A%2F%2Fes.javascript.info%2F" rel="nofolllow"></a></div></div><a class="frontpage-banner__list-item github" href="https://github.com/javascript-tutorial/es.javascript.info/tree/master"><span class="frontpage-banner__count">585 ★</span><span class="frontpage-banner__text">github</span></a><a class="frontpage-banner__list-item discord" href="https://discord.gg/AuEWpFkfD4"><i class="frontpage-banner__discord"></i><span>Discord Chat (English)</span></a></div></div></div><div class="frontpage-banner__sub"><h2 class="frontpage-banner__subtitle">Tabla de contenidos</h2><p class="frontpage-banner__text">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.</p></div></div></div><div class="page__inner"><main class="main main_frontpage"><div class="content frontpage"><div class="frontpage-content"><div class="tabs"><nav class="tabs__menu"><div class="tabs__menu-inner"><div class="tabs__menu-inner-scroll"><a class="tabs__menu-button active" href="#tab-1"><span class="tabs__menu-button-title">Parte 1</span><span>El lenguaje JavaScript</span></a><a class="tabs__menu-button" href="#tab-2"><span class="tabs__menu-button-title">Parte 2</span><span>El navegador: Documentos, Eventos e Interfaces</span></a><a class="tabs__menu-button" href="#tab-3"><span class="tabs__menu-button-title">Parte 3</span><span>Artículos adicionales</span></a></div></div></nav><div class="tabs__content" id="tab-1"><section class="tabs__content-section"><div class="tabs__content-inner"><div><h2 class="frontpage-content__title">El lenguaje JavaScript</h2><div class="frontpage-content__description"><p>Aquí aprenderemos JavaScript, empezando desde cero y llegaremos hasta conceptos avanzados como POO.</p> <p>Nos concentraremos en el lenguaje mismo con el mínimo de notas específicas del entorno.</p> </div><div class="list"><div class="list__item"><div class="list__title"><a class="list__link" href="/getting-started">Una introducción</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/intro">Una introducción a JavaScript</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/manuals-specifications">Manuales y especificaciones</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/code-editors">Editores de Código</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/devtools">Consola de desarrollador</a></div></li></ul></div><div class="list__item"><div class="list__title"><a class="list__link" href="/first-steps">Fundamentos de JavaScript</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/hello-world">¡Hola, mundo!</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/structure">Estructura del código</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/strict-mode">El modo moderno, &quot;use strict&quot;</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/variables">Variables</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/types">Tipos de datos</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/alert-prompt-confirm">Interacción: alert, prompt, confirm</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/type-conversions">Conversiones de Tipos</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/operators">Operadores básicos, matemáticas</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/comparison">Comparaciones</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/ifelse">Ejecución condicional: if, '?'</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/logical-operators">Operadores Lógicos</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/nullish-coalescing-operator">Operador Nullish Coalescing '??'</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/while-for">Bucles: while y for</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/switch">La sentencia &quot;switch&quot;</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/function-basics">Funciones</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/function-expressions">Expresiones de función</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/arrow-functions-basics">Funciones Flecha, lo básico</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/javascript-specials">Especiales JavaScript</a></div></li><li class="list-sub__item"><a class="list-sub__more" href="#">Más…</a></li></ul></div><div class="list__item"><div class="list__title"><a class="list__link" href="/code-quality">Calidad del código</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/debugging-chrome">Debugging en el navegador</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/coding-style">Estilo de codificación</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/comments">Comentarios</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/ninja-code">Código ninja</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/testing-mocha">Automatización de pruebas con Mocha</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/polyfills">Polyfills y transpiladores</a></div></li></ul></div><div class="list__item"><div class="list__title"><a class="list__link" href="/object-basics">Objetos: lo básico</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/object">Objetos</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/object-copy">Referencias de objetos y copia</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/garbage-collection">Recolección de basura</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/object-methods">Métodos de objeto, &quot;this&quot;</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/constructor-new">Constructor, operador &quot;new&quot;</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/optional-chaining">Encadenamiento opcional '?.'</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/symbol">Tipo Symbol</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/object-toprimitive">Conversión de objeto a valor primitivo</a></div></li></ul></div><div class="list__item"><div class="list__title"><a class="list__link" href="/data-types">Tipos de datos</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/primitives-methods">Métodos en tipos primitivos</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/number">Números</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/string">Strings</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/array">Arrays</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/array-methods">Métodos de arrays</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/iterable">Iterables</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/map-set">Map y Set</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/weakmap-weakset">WeakMap y WeakSet</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/keys-values-entries">Object.keys, values, entries</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/destructuring-assignment">Asignación desestructurante</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/date">Fecha y Hora</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/json">Métodos JSON, toJSON</a></div></li><li class="list-sub__item"><a class="list-sub__more" href="#">Más…</a></li></ul></div><div class="list__item"><div class="list__title"><a class="list__link" href="/advanced-functions">Trabajo avanzado con funciones</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/recursion">Recursión y pila</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/rest-parameters-spread">Parámetros Rest y operador Spread</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/closure">Ámbito de Variable y el concepto &quot;closure&quot;</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/var">La vieja &quot;var&quot;</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/global-object">Objeto Global</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/function-object">Función como objeto, NFE</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/new-function">La sintaxis &quot;new Function&quot;</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/settimeout-setinterval">Planificación: setTimeout y setInterval</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/call-apply-decorators">Decoradores y redirecciones, call/apply</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/bind">Función bind: vinculación de funciones</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/arrow-functions">Funciones de flecha revisadas</a></div></li><li class="list-sub__item"><a class="list-sub__more" href="#">Más…</a></li></ul></div><div class="list__item"><div class="list__title"><a class="list__link" href="/object-properties">Configuración de las propiedades de objetos</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/property-descriptors">Indicadores y descriptores de propiedad</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/property-accessors">&quot;Getters&quot; y &quot;setters&quot; de propiedad</a></div></li></ul></div><div class="list__item"><div class="list__title"><a class="list__link" href="/prototypes">Prototipos y herencia</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/prototype-inheritance">Herencia prototípica</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/function-prototype">F.prototype</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/native-prototypes">Prototipos nativos</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/prototype-methods">Métodos prototipo, objetos sin __proto__</a></div></li></ul></div><div class="list__item"><div class="list__title"><a class="list__link" href="/classes">Clases</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/class">Sintaxis básica de `class`</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/class-inheritance">Herencia de clase</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/static-properties-methods">Propiedades y métodos estáticos.</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/private-protected-properties-methods">Propiedades y métodos privados y protegidos.</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/extend-natives">Ampliación de clases integradas</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/instanceof">Comprobación de clase: &quot;instanceof&quot;</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/mixins">Los Mixins</a></div></li></ul></div><div class="list__item"><div class="list__title"><a class="list__link" href="/error-handling">Manejo de errores</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/try-catch">Manejo de errores, &quot;try...catch&quot;</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/custom-errors">Errores personalizados, extendiendo Error</a></div></li></ul></div><div class="list__item"><div class="list__title"><a class="list__link" href="/async">Promesas y async/await</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/callbacks">Introducción: callbacks</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/promise-basics">Promesa</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/promise-chaining">Encadenamiento de promesas</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/promise-error-handling">Manejo de errores con promesas</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/promise-api">Promise API</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/promisify">Promisificación</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/microtask-queue">Microtareas (Microtasks)</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/async-await">Async/await</a></div></li></ul></div><div class="list__item"><div class="list__title"><a class="list__link" href="/generators-iterators">Generadores e iteración avanzada</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/generators">Generadores</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/async-iterators-generators">Iteradores y generadores asíncronos</a></div></li></ul></div><div class="list__item"><div class="list__title"><a class="list__link" href="/modules">Módulos</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/modules-intro">Módulos, introducción</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/import-export">Export e Import</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/modules-dynamic-imports">Importaciones dinámicas</a></div></li></ul></div><div class="list__item"><div class="list__title"><a class="list__link" href="/js-misc">Temas diversos</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/proxy">Proxy y Reflect</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/eval">Eval: ejecutando una cadena de código</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/currying-partials">Currificación</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/reference-type">Tipo de Referencia</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/bigint">BigInt</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/unicode">Unicode, String internals</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/weakref-finalizationregistry">WeakRef and FinalizationRegistry</a></div></li></ul></div></div></div></div></section></div><div class="tabs__content" id="tab-2"><section class="tabs__content-section"><div class="tabs__content-inner"><div><h2 class="frontpage-content__title">El navegador: Documentos, Eventos e Interfaces</h2><div class="frontpage-content__description"><p>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.</p> </div><div class="list"><div class="list__item"><div class="list__title"><a class="list__link" href="/document">Documento</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/browser-environment">Entorno del navegador, especificaciones</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/dom-nodes">Árbol del Modelo de Objetos del Documento (DOM)</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/dom-navigation">Recorriendo el DOM</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/searching-elements-dom">Buscar: getElement*, querySelector*</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/basic-dom-node-properties">Propiedades del nodo: tipo, etiqueta y contenido</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/dom-attributes-and-properties">Atributos y propiedades</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/modifying-document">Modificando el documento</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/styles-and-classes">Estilos y clases</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/size-and-scroll">Tamaño de elementos y desplazamiento</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/size-and-scroll-window">Tamaño de ventana y desplazamiento</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/coordinates">Coordenadas</a></div></li><li class="list-sub__item"><a class="list-sub__more" href="#">Más…</a></li></ul></div><div class="list__item"><div class="list__title"><a class="list__link" href="/events">Introducción a los eventos</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/introduction-browser-events">Introducción a los eventos en el navegador</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/bubbling-and-capturing">Propagación y captura</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/event-delegation">Delegación de eventos</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/default-browser-action">Acciones predeterminadas del navegador</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/dispatch-events">Envío de eventos personalizados</a></div></li></ul></div><div class="list__item"><div class="list__title"><a class="list__link" href="/event-details">Eventos en la UI</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/mouse-events-basics">Eventos del Mouse</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/mousemove-mouseover-mouseout-mouseenter-mouseleave">Moviendo el mouse: mouseover/out, mouseenter/leave</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/mouse-drag-and-drop">Arrastrar y Soltar con eventos del ratón</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/pointer-events">Eventos de puntero</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/keyboard-events">Teclado: keydown y keyup</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/onscroll">Desplazamiento</a></div></li></ul></div><div class="list__item"><div class="list__title"><a class="list__link" href="/forms-controls">Formularios y controles</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/form-elements">Propiedades y Métodos de Formularios</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/focus-blur">Enfocado: enfoque/desenfoque</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/events-change-input">Eventos: change, input, cut, copy, paste</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/forms-submit">Formularios: evento y método submit</a></div></li></ul></div><div class="list__item"><div class="list__title"><a class="list__link" href="/loading">El documento y carga de recursos</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/onload-ondomcontentloaded">Página: DOMContentLoaded, load, beforeunload, unload</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/script-async-defer">Scripts: async, defer</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/onload-onerror">Carga de recursos: onload y onerror</a></div></li></ul></div><div class="list__item"><div class="list__title"><a class="list__link" href="/ui-misc">Temas diversos</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/mutation-observer">Mutation observer</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/selection-range">Selection y Range</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/event-loop">Loop de eventos: microtareas y macrotareas</a></div></li></ul></div></div></div></div></section></div><div class="tabs__content" id="tab-3"><section class="tabs__content-section tabs__content-section_no-shadow"><div class="tabs__content-inner"><div><h2 class="frontpage-content__title">Artículos adicionales</h2><div class="frontpage-content__description">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.</div><div class="list"><div class="list__item"><div class="list__title"><a class="list__link" href="/frames-and-windows">Marcos y ventanas</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/popup-windows">Ventanas emergentes y métodos de ventana</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/cross-window-communication">Comunicación entre ventanas</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/clickjacking">El ataque de secuestro de clics</a></div></li></ul></div><div class="list__item"><div class="list__title"><a class="list__link" href="/binary">Datos binarios y archivos</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/arraybuffer-binary-arrays">ArrayBuffer, arrays binarios</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/text-decoder">TextDecoder y TextEncoder</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/blob">Blob</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/file">File y FileReader</a></div></li></ul></div><div class="list__item"><div class="list__title"><a class="list__link" href="/network">Solicitudes de red</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/fetch">Fetch</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/formdata">FormData</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/fetch-progress">Fetch: Progreso de la descarga</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/fetch-abort">Fetch: Abort</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/fetch-crossorigin">Fetch: Cross-Origin Requests</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/fetch-api">Fetch API</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/url">Objetos URL</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/xmlhttprequest">XMLHttpRequest</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/resume-upload">Carga de archivos reanudable</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/long-polling">Sondeo largo</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/websocket">WebSocket</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/server-sent-events">Eventos enviados por el servidor</a></div></li><li class="list-sub__item"><a class="list-sub__more" href="#">Más…</a></li></ul></div><div class="list__item"><div class="list__title"><a class="list__link" href="/data-storage">Almacenando datos en el navegador</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/cookie">Cookies, document.cookie</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/localstorage">LocalStorage, sessionStorage</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/indexeddb">IndexedDB</a></div></li></ul></div><div class="list__item"><div class="list__title"><a class="list__link" href="/animation">Animaciones</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/bezier-curve">Curva de Bézier</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/css-animations">Animaciones CSS</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/js-animation">Animaciones JavaScript</a></div></li></ul></div><div class="list__item"><div class="list__title"><a class="list__link" href="/web-components">Componentes Web</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/webcomponents-intro">Desde la altura orbital</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/custom-elements">Elementos personalizados</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/shadow-dom">Shadow DOM</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/template-element">Elemento template</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/slots-composition">Shadow DOM slots, composición</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/shadow-dom-style">Estilo Shadow DOM</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/shadow-dom-events">Shadow DOM y eventos</a></div></li></ul></div><div class="list__item"><div class="list__title"><a class="list__link" href="/regular-expressions">Expresiones Regulares</a></div><ul class="list-sub"><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/regexp-introduction">Patrones y banderas (flags)</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/regexp-character-classes">Clases de caracteres</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/regexp-unicode">Unicode: bandera &quot;u&quot; y clase \p{...}</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/regexp-anchors">Anclas: inicio ^ y final $ de cadena</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/regexp-multiline-mode">Modo multilínea de anclas ^ $, bandera &quot;m&quot;</a></div></li><li class="list-sub__item"><div class="list-sub__title"><a class="list-sub__link" href="/regexp-boundary">Límite de palabra: \b</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/regexp-escaping">Escapando, caracteres especiales</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/regexp-character-sets-and-ranges">Conjuntos y rangos [...]</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/regexp-quantifiers">Cuantificadores +, *, ? y {n}</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/regexp-greedy-and-lazy">Cuantificadores codiciosos y perezosos</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/regexp-groups">Grupos de captura</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/regexp-backreferences">Referencias inversas en patrones: \N y \k&lt;nombre&gt;</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/regexp-alternation">Alternancia (O) |</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/regexp-lookahead-lookbehind">Lookahead y lookbehind (revisar delante/detrás)</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/regexp-catastrophic-backtracking">Backtracking catastrófico</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/regexp-sticky">Indicador adhesivo “y”, buscando en una posición.</a></div></li><li class="list-sub__item list-sub__item_phone_hidden"><div class="list-sub__title"><a class="list-sub__link" href="/regexp-methods">Métodos de RegExp y String</a></div></li><li class="list-sub__item"><a class="list-sub__more" href="#">Más…</a></li></ul></div></div></div></div></section></div></div><section class="frontpage-content__container frontpage-content__container_no-shadow"><div class="frontpage-content__inner"><div class="subscribe subscribe_fancy"><h3 class="subscribe__title">Esté atento a las actualizaciones de javascript.info</h3><div class="subscribe__greyed-text">No enviamos publicidad, solo material relevante. Tu eliges que recibir:</div><form class="subscribe__form" method="POST" action="/newsletter/subscribe" data-newsletter-subscribe-form><input type="hidden" name="_csrf"/><input type="hidden" name="replace" value="1"/><div class="subscribe__email-input"><div class="subscribe__newsletters"><div class="multiselect subscribe__multiselect"><div class="multiselect__active-button">Actualizaciones comúnes</div><div class="multiselect__container"><select class="multiselect__select phone-only" name="slug" size="1" multiple></select></div></div><div class="subscribe__input"><div class="text-input text-input_big text-input_plain"><input class="text-input__control" type="email" placeholder="tu@email.aqui" name="email" required="required"/></div></div><div class="subscribe__button"><button class="button button_action button_big" type="submit"><span class="button__text">Suscríbete</span></button></div></div></div></form><div class="subscribe__greyed-text subscribe__greyed-text_small">Al suscribirse a los boletines informativos, acepta las <a href="/terms" target="_blank">condiciones de uso</a>.</div></div></div></section></div><script type="application/ld+json">{ "@context": "http://schema.org", "@type": "WebSite", "url": "https://es.javascript.info/", "potentialAction": { "@type": "SearchAction", "target": "https://es.javascript.info/search?query={search_term_string}", "query-input": "required name=search_term_string" } }</script></div><div class="article-tablet-foot tablet-only"><div class="article-tablet-foot__layout"><div class="share-icons"><span class="share-icons__title">Compartir</span><a class="share share_tw" href="https://twitter.com/share?url=https%3A%2F%2Fes.javascript.info%2F" rel="nofollow"></a><a class="share share_fb" href="https://www.facebook.com/sharer/sharer.php?s=100&amp;p%5Burl%5D=https%3A%2F%2Fes.javascript.info%2F" rel="nofollow"></a></div><div class="article-tablet-foot__map"><a class="map" href="/tutorial/map" data-action="tutorial-map"><span class="map__text">Mapa del Tutorial</span></a></div></div></div><div class="comments formatted" id="comments"><div class="comments__header"><h2 class="comments__header-title"><a href="#comments" name="comments">Comentarios</a></h2><div class="comments__read-before"><span class="comments__read-before-link">lea esto antes de comentar…</span><div class="comments__read-before-popup"><div class="comments__read-before-popup-i"><ul><li>Si tiene sugerencias sobre qué mejorar, por favor <a href="https://github.com/javascript-tutorial/en.javascript.info/issues/new">enviar una propuesta de GitHub</a> o una solicitud de extracción en lugar de comentar.</li><li>Si no puede entender algo en el artículo, por favor explique.</li><li>Para insertar algunas palabras de código, use la etiqueta <code>&lt;code&gt;</code>, para varias líneas – envolverlas en la etiqueta <code>&lt;pre&gt;</code>, para más de 10 líneas – utilice una entorno controlado (sandbox) (<a href='https://plnkr.co/edit/?p=preview'>plnkr</a>, <a href='https://jsbin.com'>jsbin</a>, <a href='http://codepen.io'>codepen</a>…)</li></ul></div></div></div></div><div id="disqus_thread"></div><script>var disqus_config = function() { if (!this.page) this.page = {}; Object.assign(this.page, {"url":"https:\/\/es.javascript.info\/","identifier":"","title":"El Tutorial de JavaScript Moderno"}); };</script><script>var disqus_shortname = "es-javascript-info";</script><script>var disqus_enabled = true;</script></div></script></main></div></div></div><div class="page-footer"><ul class="page-footer__list"><li class="page-footer__item page-footer__item_copy">©&nbsp;2007—2025&nbsp; Ilya Kantor</li><li class="page-footer__item page-footer__item_about"><a class="page-footer__link" href="/about">acerca del proyecto</a></li><li class="page-footer__item page-footer__item_contact"><a class="page-footer__link" href="/about#contact-us">contáctenos</a></li></ul></div></body></html>

Pages: 1 2 3 4 5 6 7 8 9 10