JavaScript

Traducción en progreso.

JavaScript (JS) es un lenguaje de programación lijero, interpretado, o compilado justo-a-tiempo (just-in-time) con funciones de primera clase. Si bien es más conocido como un lenguaje de scripting (secuencias de comandos) para páginas web, es usado en muchos entornos fuera del navegador, tal como Node.js, Apache CouchDB and Adobe Acrobat. JavaScript es un lenguaje de programación basado en prototipos, multi-paradigma, de un solo hilo, dinámico, con soporte para programación orientada a objetos, imperativa y declarativa (por ejemplo programación funcional). Lea 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 APIs específico para páginas Web, consulte Web APIs y 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 confunda 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 tiene sintaxis, semántica y usos muy diferentes.

Tutoriales

Aprenda cómo programar en JavaScript con guías y tutoriales.

Para completos principiantes

Dirígase a nuestro tema del Area de Aprendizaje JavaScript si quiere aprender JavaScript pero no tiene experiencia previa de JavaScript o programación. Los módulos completos disponibles allí son los siguientes:

JavaScript primeros pasos
Responde algunas preguntas fundamentales tales como "qué es JavaScript?", "cómo se ve?", y "qué puedo hacer?", junto con la discusión de características clave de JavaScript, como variables, cadenas, números y matrices.
JavaScript construyendo bloques
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 en JavaScript
Es importante comprender la naturaleza de la orientación a objetos en JavaScript si desea ir más allá con su conocimiento del lenguaje y la escritura de código más eficiente, por lo tanto, hemos proporcionado este módulo para ayudarlo.
JavaScript Asíncrono
Analiza el JavaScript asíncrono, por qué es importante y cómo se puede usar para manejar eficazmente las posibles operaciones de bloqueo, tales como recuperar recursos de un servidor.
API web del lado del cliente
Explora qué son las API y cómo usar algunas de las API 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 le brinda algunos conocimientos básicos sobre cómo funcionan los frameworks del lado del cliente y cómo encajan en su conjunto de herramientas, antes de pasar a la serie de tutoriales que cubren algunos de los más populares en la actualidad.
Una re-introducción a JavaScript
Una descripción general para aquellos que piensan que saben sobre JavaScript.
Estructuras de datos en JavaScript
Descripción general de las estructuras de datos disponibles en JavaScript.
Igualdad comparaciones e igualdad
JavaScript proporciona tres diferentes operadores de comparación de valores: igualdad estricta usando ===, igualdad abstracta usando ==, y el método Object.is().
Cierres (clousures)

Un cierre es la combinación de una función 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 puede usar ninguna variable antes de inicializarla. 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 escirtos en JavaScript proveen un mecanismo para acceder a datos binarios sin formato.
Gestión de la Memoria
Cliclo 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

Consulte la documentación completa de referencia de JavaScript.

Objectos Estándar
Conozca los objectos estándar integrados Array, Boolean, Date, Error, Function, JSON, Math, Number, Object, RegExp, String, Map, Set, WeakMap, WeakSet, y otros.
Expresiones y operadores
Aprenda más sobre el comportamiento de los operadores de JavaScript instanceof, typeof, new, this, el operador de precedencia, y más.
Sentencias y declaraciones
Aprenda cómo funciona do-while, for-in, for-of, try-catch, let, var, const, if-else, switch, y más declaraciones y palabras de JavaScript.
Funciones
Aprenda cómo trabajar con funciones de JavaScript para desarrollar sus aplicaciones.

Herramientas & recursos

Herramientas útiles para escribir y depurar su código JavaScript.

Herramientas para Desarrolladores de Firefox
Consola Web, Gererador de Perfiles de JavaScript, Depurador, y más.
JavaScript Shells
Un shell de JavaScript le permite probar rápidamente fragmentos de código JavaScript.
Aprenda JavaScript
Un excelente recurso para aspirantes a desarrollador web — Aprenda 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 su sitio web, sus 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
Explore el historial de características y el estado de implementación de JavaScript.
JSFiddle
Edite JavaScript, CSS, HTML y obtenga resultados en vivo. Use recursos externos y colabore con su equipo en línea.
Plunker
Plunker es una comunidad en línea para crear, colaborar y compartir sus ideas de desarrollo web. Edite sus archivos JavaScript, CSS, HTML y obtenga resultados en vivo y estructura de archivos.
JSBin

JS Bin 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.