JavaScript
JavaScript (JS) es un lenguaje de programación ligero, interpretado (o compilado justo-a-tiempo) con funciones de primera clase. Si bien es más conocido como el lenguaje de scripting para páginas web, muchos entornos fuera del navegador también lo usan, tal como Node.js, Apache CouchDB y Adobe Acrobat. JavaScript es un lenguaje basado en prototipos, con recolección de basura, dinámico, que soporta múltiples paradigmas como imperativo, funcional y orientado a objetos.
Las capacidades dinámicas de JavaScript incluyen construcción de objetos en tiempo de ejecución, listas de parámetros variables, variables de función, creación dinámica de scripts (mediante eval), introspección de objetos (mediante for...in y utilidades de Object), y recuperación de código fuente (las funciones de JavaScript almacenan su texto fuente y pueden recuperarse mediante toString()).
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íficas para páginas Web, consulta APIs Web y DOM.
Los estándares para JavaScript son la Especificación del Lenguaje ECMAScript (ECMA-262) y la especificación de la API de Internacionalización de ECMAScript (ECMA-402). Tan pronto como un navegador implementa una funcionalidad, intentamos documentarla. Esto significa que en casos donde algunas propuestas para nuevas funciones de ECMAScript ya han sido implementadas en navegadores, la documentación y ejemplos en los artículos de MDN pueden usar algunas de esas nuevas funciones. La mayoría de las veces, esto ocurre entre las etapas 3 y 4, y generalmente antes de que la especificación sea publicada oficialmente.
No confundas JavaScript con el lenguaje de programación Java — JavaScript no es "Java Interpretado". 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.
La documentación de JavaScript sobre las características principales del lenguaje (ECMAScript puro, en su mayor parte) incluye lo siguiente:
Para más información sobre las especificaciones de JavaScript y tecnologías relacionadas, consulta Descripción general de las tecnologías JavaScript.
Tutoriales para principiantes
Nuestros módulos principales de aprendizaje de desarrollo web contienen tutoriales modernos y actualizados que cubren los fundamentos de JavaScript.
- Tu primer sitio web: Agregar interactividad
-
Este artículo proporciona un breve recorrido sobre qué es JavaScript y cómo usarlo, dirigido a personas completamente nuevas en el desarrollo web.
- Scripting dinámico con JavaScript
-
Este módulo se enfoca en los elementos esenciales del lenguaje JavaScript principal, más algunos temas clave circundantes — aprender estos temas te dará una base sólida desde la cual trabajar.
- Frameworks y librerías de JavaScript
-
Los frameworks de JavaScript son una parte esencial del desarrollo web front-end moderno, proporcionando a los desarrolladores herramientas probadas y comprobadas para construir aplicaciones web escalables e interactivas. Muchas empresas modernas usan frameworks como parte estándar de sus herramientas, por lo que muchos trabajos de desarrollo front-end ahora requieren experiencia con frameworks. Este conjunto de artículos proporciona un punto de partida cómodo para ayudarte a comenzar a aprender frameworks.
Guías de JavaScript
>Guías fundamentales del lenguaje
- 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
- Objetos avanzados de JavaScript
-
La naturaleza orientada a objetos de JavaScript es importante de comprender si deseas ir más allá con tu conocimiento del lenguaje y escribir código más eficiente, por lo tanto hemos proporcionado este módulo para ayudarte.
- JavaScript asíncrono
-
En este módulo, echamos un vistazo al JavaScript asíncrono, por qué es importante y cómo puede usarse para manejar eficazmente operaciones potencialmente bloqueantes, tales como obtener recursos de un servidor.
- APIs 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.
- Descripción general del lenguaje JavaScript
-
Una descripción general de la sintaxis y semántica básica de JavaScript para aquellos que vienen de otros lenguajes de programación para ponerse al día.
- Estructuras de datos de JavaScript
-
Descripción general de las estructuras de datos disponibles en JavaScript.
- Comparaciones de igualdad y similitud
-
JavaScript proporciona tres diferentes operaciones de comparación de valores: igualdad estricta usando
===, igualdad abstracta usando==y el métodoObject.is(). - Enumerabilidad y propiedad de propiedades
-
Cómo los diferentes métodos que visitan un grupo de propiedades de objetos una por una manejan la enumerabilidad y propiedad de las propiedades.
- Closures
-
Un closure es la combinación de una función y el 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.
- Gestión de la memoria
-
Ciclo de vida de la memoria y recolección de basura en JavaScript.
Referencia
Consulta la documentación completa de la referencia de JavaScript.
- Objetos estándar
-
Conoce los objetos estándar integrados:
Array,Boolean,Error,Function,JSON,Math,Number,Object,RegExp,String,Map,Set,WeakMap,WeakSety otros. - Expresiones y operadores
-
Aprende más sobre el comportamiento de los operadores de JavaScript
instanceof,typeof,new,this, la precedencia de operadores y más. - Sentencias y declaraciones
-
Aprende cómo funcionan
do-while,for-in,for-of,try-catch,let,var,const,if-else,switchy más sentencias y palabras clave de JavaScript. - Funciones
-
Aprende cómo trabajar con las funciones de JavaScript para desarrollar tus aplicaciones.
- Clases
-
Las clases de JavaScript son la forma más apropiada de hacer programación orientada a objetos.