---
title: JavaScript
slug: Web/JavaScript
tags:
- Aprender
- JavaScript
- 'l10n:priority'
translation_of: Web/JavaScript
---
{{JsSidebar}}
JavaScript (JS) es un lenguaje de programación ligero, interpretado, o compilado justo-a-tiempo (just-in-time) con {{Glossary("First-class Function", "funciones de primera clase")}}. Si bien es más conocido como un lenguaje de scripting (secuencias de comandos) para páginas web, y es usado en muchos entornos fuera del navegador, tal como {{Glossary("Node.js")}}, Apache CouchDB y Adobe Acrobat. JavaScript es un lenguaje de {{Glossary ("Prototype-based programming", "programación basada en prototipos")}}, multiparadigma, de un solo hilo, dinámico, con soporte para programación orientada a objetos, imperativa y declarativa (por ejemplo programación funcional). Lee más en acerca de JavaScript.
Esta sección está dedicada al lenguaje JavaScript en sí, y no a las partes que son específicas de las páginas web u otros entornos host. Para información acerca de {{Glossary("API","APIs")}} específicas para páginas Web, consulta APIs Web y {{Glossary("DOM")}}.
El estándar para JavaScript es ECMAScript. A partir del 2012, todos los navegadores modernos soportan completamente ECMAScript 5.1. Los navegadores viejos soportan al menos ECMAScript 3. Desde Junio 17, 2015, ECMA International publico la sexta versión principal de ECMAScript, que oficialmente se llama ECMAScript 2015, y que inicialmente se denominó ECMAScript 6 o ES6. Desde entonces, los estándares ECMAScript están en ciclos de lanzamiento anuales. Esta documentación hace referencia a la última versión preliminar, que actualmente es ECMAScript 2020.
No confundas JavaScript con el lenguaje de programación Java. Ambos "Java" y "JavaScript" son marcas o marcas registradas de Oracle en los Estados Unidos y otros países, Sin embargo, los dos lenguajes de programación tienen sintaxis, semántica y usos muy diferentes.
Hemos reunido un curso que incluye toda la información esencial que necesitas para trabajar hacia tu objetivo.
Empieza aquí
Tutoriales
Aprende a programar en JavaScript con guías y tutoriales.
Para completos principiantes
Dirígete a nuestro tema del Area de Aprendizaje JavaScript si quieres aprender JavaScript pero no tienes experiencia previa de JavaScript o programación. Los módulos completos disponibles allí son los siguientes:
- Primeros pasos en JavaScript
- Responde algunas preguntas fundamentales tales como "¿qué es JavaScript?", "¿cómo se ve?", y "¿qué puede hacer?", junto con la discusión de características clave de JavaScript, como variables, cadenas, números y matrices.
- Bloques de construcción JavaScript
- Continúa nuestra cobertura de las características fundamentales clave de JavaScript, dirigiendo nuestra atención a los tipos de bloques de código que se encuentran comúnmente, tales como declaraciones condicionales, bucles, funciones y eventos.
- Introducción a objetos JavaScript
- Es importante comprender la naturaleza de la orientación a objetos en JavaScript si deseas ir más allá con tu conocimiento del lenguaje y la escritura de código más eficiente, por lo tanto, hemos proporcionado este módulo para ayudarte.
- JavaScript asíncrono
- Analiza el JavaScript asíncrono, por qué es importante y cómo se puede usar para manejar eficazmente las potenciales operaciones de bloqueo, tales como recuperar recursos de un servidor.
- API web del lado del cliente
- Explora qué son las APIs y cómo usar algunas de las APIs más comunes que encontrarás a menudo en tu trabajo de desarrollo.
Guía de JavaScript
- Guía de JavaScript
- Una guía mucho más detallada del lenguaje JavaScript, dirigida a aquellos con experiencia previa en programación, ya sea en JavaScript u otro lenguaje.
Intermedio
- Comprendiendo los frameworks JavaScript de lado del cliente
- Los frameworks de JavaScript son una parte esencial del desarrollo web front-end moderno, ya que proporcionan a los desarrolladores herramientas probadas y comprobadas para crear aplicaciones web interactivas y escalables. Este módulo te brinda algunos conocimientos básicos sobre cómo funcionan los frameworks del lado del cliente y cómo encajan en tu conjunto de herramientas, antes de pasar a la serie de tutoriales que cubren algunos de los más populares en la actualidad.
- Una reintroducción a JavaScript
- Una descripción general para aquellos que piensan que saben JavaScript.
- Estructuras de datos en JavaScript
- Descripción general de las estructuras de datos disponibles en JavaScript.
- Comparaciones de igualdad y similaridad
- JavaScript proporciona tres diferentes operadores de comparación de valores: igualdad estricta usando
===
, igualdad abstracta usando ==
, y el método {{jsxref("Global_Objects/Object/is", "Object.is()")}}.
- Cierres (clousures)
-
Un cierre es la combinación de una función y un entorno léxico dentro del cual se declaró esa función.
Avanzado
- Herencia y la cadena de prototipos
- Explicación de la herencia basada en prototipos ampliamente incomprendida y subestimada.
- Modo estricto
- El modo estricto define que no puedes usar ninguna variable antes de iniciarla. Es una variable restringida de ECMAScript 5, para un rendimiento más rápido y una depuración más fácil.
- Arreglos escritos en JavaScript
- Los arreglos escritos en JavaScript proveen un mecanismo para acceder a datos binarios sin formato.
- Gestión de la Memoria
- Ciclo de vida de la memoria y recolección de basura en JavaScript.
- Modelo de Concurrencia y Bucle de Eventos
- JavaScript tiene un modelo de concurrencia basado en un "bucle de eventos".
Referencia
Consulta la documentación completa de la referencia de JavaScript.
- Objectos Estándar
- Conoce los objectos estándar integrados {{jsxref("Array")}}, {{jsxref("Boolean")}}, {{jsxref("Date")}}, {{jsxref("Error")}}, {{jsxref("Function")}}, {{jsxref("JSON")}}, {{jsxref("Math")}}, {{jsxref("Number")}}, {{jsxref("Object")}}, {{jsxref("RegExp")}}, {{jsxref("String")}}, {{jsxref("Map")}}, {{jsxref("Set")}}, {{jsxref("WeakMap")}}, {{jsxref("WeakSet")}}, y otros.
- Expresiones y operadores
- Aprende más sobre el comportamiento de los operadores de JavaScript {{jsxref("Operators/instanceof", "instanceof")}}, {{jsxref("Operators/typeof", "typeof")}}, {{jsxref("Operators/new", "new")}}, {{jsxref("Operators/this", "this")}}, el operador de precedencia, y más.
- Sentencias y declaraciones
- Aprende cómo funciona {{jsxref("Statements/do...while", "do-while")}}, {{jsxref("Statements/for...in", "for-in")}}, {{jsxref("Statements/for...of", "for-of")}}, {{jsxref("Statements/try...catch", "try-catch")}}, {{jsxref("Statements/let", "let")}}, {{jsxref("Statements/var", "var")}}, {{jsxref("Statements/const", "const")}}, {{jsxref("Statements/if...else", "if-else")}}, {{jsxref("Statements/switch", "switch")}}, y más declaraciones y palabras reservadas de JavaScript.
- Funciones
- Aprende cómo trabajar con funciones de JavaScript para desarrollar tus aplicaciones.
Herramientas & recursos
Herramientas útiles para escribir y depurar tu código JavaScript.
- Herramientas para Desarrolladores de Firefox
- Consola Web, Generador de Perfiles de JavaScript, Depurador, y más.
- Shells JavaScript
- Un shell de JavaScript te permite probar rápidamente fragmentos de código JavaScript.
- Aprende JavaScript
- Un excelente recurso para aspirantes a desarrollador web — Aprendr JavaScript en un entorno interactivo, con lecciones cortas y pruebas interactivas, guiado por una evaluación automatizada. Las primeras 40 lecciones son gratis, y el curso completo está disponible por un pequeño pago único.
- TogetherJS
- La colaboración hecha fácil. Al agregar TogetherJS a tu sitio web, ¡tus usuarios pueden ayudarse mutuamente en un sitio web en tiempo real!
- Stack Overflow
- Preguntas en Stack Overflow etiquetadas con "JavaScript".
- Versiones de JavaScript y notas de lanzamiento
- Explora el historial de características y el estado de implementación de JavaScript.
- JSFiddle
- Edita JavaScript, CSS, HTML y obtén resultados en vivo. Usa recursos externos y colabora con tu equipo en línea.
- Plunker
- Plunker es una comunidad en línea para crear, colaborar y compartir sus ideas de desarrollo web. Edita sus archivos JavaScript, CSS, HTML y obtén resultados en vivo y estructuras de archivos.
- JSBin
-
JSBin es una herramienta de depuración de desarrollo web colaborativo de código abierto.
- Codepen
-
Codepen es otra herramienta colaborativa de desarrollo web usada como un espacio para mostrar resultados en vivo.
- StackBlitz
-
StackBlitz es otra herramienta de depuración/visualización en línea, que puede alojar e implementar aplicaciones full-stack usando React, Angular, etc.