Descripción de la etiqueta de Javascript

JavaScript (que no debe confundirse con Java) es un lenguaje de alto nivel, dinámico, multi-paradigma, orientado a objetos, basado en prototipos, y de tipo débil que se usa tanto para los scripts de cliente como de servidor. Su uso principal es en la renderización y manipulación de páginas web. Use esta etiqueta para preguntas relacionadas con ECMAScript y sus diversos dialectos / implementaciones (excluyendo ActionScript y Google-Apps-Script).

JavaScript (dialecto ECMAScript) es un lenguaje basado en prototipos de alto nivel, dinámico, multirigendado, orientado a objetos y de tipo débil, que se utiliza tradicionalmente para crear scripts del lado del cliente en los navegadores web. JavaScript también se puede ejecutar fuera del navegador usando infraestructura como , , o . A pesar del nombre, no está relacionado con el lenguaje de programación Java y solo tiene una similitud externa.

JavaScript funciona en casi todos los sistemas operativos, y el motor está incluido en los principales navegadores web. Desarrollado en 1995 por Brendan Eich de Netscape Communications , originalmente se llamaba LiveScript, pero su nombre se cambió a JavaScript debido a la amistad de Netscape con Sun Microsystems (los creadores de Java ) en ese momento.

También están disponibles los motores o intérpretes de JavaScript independientes, que incluyen:

  • Mozilla , el primer motor de JavaScript escrito, se usa actualmente en Mozilla Firefox.
  • Motor de Google JavaScript Chrome utilizado en Google Chrome y Chromium.
  • , un intérprete de nube / servidor que proporciona un control programático "de tipo macro" sobre los servicios y documentos de Google Apps.
  • , construido sobre la base de V8, una plataforma que permite escribir aplicaciones del lado del servidor en JavaScript.
  • Windows incluye , una versión de javascript de Windows Script Host .
  • , una rama de JScript, desarrollada por Microsoft y utilizada en su .
  • Mozilla también ofrece , una implementación de JavaScript integrada en Java, generalmente integrada en aplicaciones Java para proporcionar scripts a los usuarios finales.
  • (a excepción del proyecto Chromium) implementa el motor .
  • (originalmente derivado de HyperTalk ) ahora es un dialecto ECMAScript y usa muchas API de ECMAScript.
  • Duktape Embeddable , un motor ECMAScript C portátil con una pequeña cantidad de memoria.
  • Servidor basado en Wakanda , IDE y V8 que admite JavaScript del lado del servidor
  • MeteorJS ; La aplicación Meteor es una mezcla de JavaScript del lado del cliente que se ejecuta dentro del navegador web o la aplicación móvil de , el servidor del JavaScript, que se ejecuta en el servidor Meteor dentro del contenedor Node.js. (según documentación de MeteorJS )

La red de desarrolladores de Mozilla contiene documentación de JavaScript de alta calidad.

JavaScript se utiliza normalmente para administrar el modelo de objeto de documento (DOM) y las hojas de estilo en cascada (CSS) en un navegador. Le permite crear scripts de interfaz de usuario, animación, automatización, validación del lado del cliente y más.

Con la reciente aparición de plataformas como Node.js , JavaScript ahora puede usarse para escribir aplicaciones de servidor. Además, también se utiliza en entornos no basados ​​en la web, como documentos PDF, navegadores específicos del sitio, widgets de escritorio, etc.

Nomenclatura

Aunque se desarrolló bajo el nombre Mocha , se llamó oficialmente LiveScript cuando se lanzó por primera vez en las versiones beta de Netscape Navigator 2.0 en septiembre de 1995, pero se le cambió el nombre de JavaScript cuando se implementó en el navegador Netscape versión 2.0B3.

El cambio de nombre de LiveScript a JavaScript coincidió aproximadamente con Netscape, que agregó soporte para la tecnología Java en su navegador web Netscape Navigator . La elección final del nombre causó confusión, dando la impresión de que el lenguaje era un subproducto del lenguaje de programación Java, y Netscape eligió una estrategia de mercadotecnia para otorgarle a JavaScript el almacenamiento en caché de lo que era entonces un nuevo lenguaje de programación web.

La gente suele usar el término JavaScript de manera informal. Idioma y término originados de Netscape . ECMAScript , JavaScript y JScript son términos que se confunden fácilmente.

ECMAScript fue diseñado para estandarizar Netscape JavaScript y Microsoft, desarrollado independientemente por JScript . La referencia del canon es la especificación de lenguaje ECMAScript® 2015 . Aunque JavaScript y JScript tienden a ser compatibles con ECMAScript, también proporcionan funciones adicionales (y otras desviaciones ) que no están descritas en las especificaciones de ECMA. También existen otras implementaciones de ECMAScript.

Hoy en día, las diferencias para aquellos que usan JavaScript son insignificantes; La gente generalmente no distingue entre JavaScript y JScript de ECMAScript.

Versión ECMAScript

La mayoría de los navegadores modernos implementan JavaScript basado en la especificación ECMAScript 6, aunque algunos no pueden implementar algunas características de ES6. Sin embargo, los navegadores más antiguos, como Internet Explorer 8, implementaron la especificación ECMAScript 3, que, entre otras cosas, carece de características como Function.prototype.bind e incluso JSON.parse .

La versión actual de ECMAScript es ECMAScript 9, conocida como ECMAScript 2018, que se completó en junio de 2018.


Al hacer una pregunta de javascript, debes:

  1. Depure su código JavaScript (vea Creativebloq , MDN , Google y MSDN ).
  2. Aísle el código del problema y reprodúzcalo en un fragmento de código de desbordamiento de pila o en un entorno externo en línea como JSFiddle , JS Bin o PasteBin (no olvide incluir también el código en la pregunta en sí).
  3. Si se utiliza una biblioteca o infraestructura, marque la pregunta con las etiquetas apropiadas: para jQuery, para prototipo, para MooTools, etc. Sin embargo, si la infraestructura no se utiliza o no es necesaria, no incluya estas etiquetas.
  4. Si el problema está en el lado del cliente, indique en qué problemas del navegador se produjo el código y qué mensajes de error, de haberlos, emitió el navegador. Use las Herramientas de desarrollo para su navegador (vea "Herramientas útiles" a continuación) para ver estos mensajes. Si la pregunta está relacionada con el navegador, use las etiquetas de ,