Articulo de referencia

JScript

[[.js]] , .jse , [[.wsf]] , .wsc ( [[.htm]] , [[.html]] , [[HTML Application|.hta]] , [[Active Server Pages|.asp]] ) {{cite web|url=https://msdn.microsoft.com/en-us/library/67w0...

JScript es el dialecto heredado de Microsoft [ 2 ] del estándar ECMAScript [ 3 ] que se utiliza en el navegador web Internet Explorer de Microsoft y en las aplicaciones HTML , y como un lenguaje de scripting independiente de Windows. Es un software propietario .

JScript se implementa como un motor de Active Scripting . Esto significa que se puede integrar en aplicaciones de automatización OLE que admiten Active Scripting, como Internet Explorer , Active Server Pages y Windows Script Host . [ 4 ] También significa que dichas aplicaciones pueden usar varios lenguajes de Active Scripting, por ejemplo, JScript, VBScript o PerlScript .

JScript fue compatible por primera vez con el navegador Internet Explorer 3.0, lanzado en agosto de 1996. Su versión más reciente es JScript 9.0, incluida en Internet Explorer 9.

JScript 10.0 [ 5 ] es un dialecto independiente, también conocido como JScript .NET , que incorpora varias características nuevas de la cuarta edición abandonada del estándar ECMAScript. Debe compilarse para .NET Framework versión 2 o versión 4, pero las anotaciones de tipo estático son opcionales.

JScript ha sido criticado por ser inseguro y tener múltiples fallos de seguridad "explotados por actores estatales", [ 6 ] lo que llevó a Microsoft a agregar una opción para deshabilitarlo. [ 7 ]

Comparación con JavaScript

Como explicó Douglas Crockford en su charla titulada El lenguaje de programación JavaScript en YUI Theater,

[Microsoft] no quería lidiar con Sun Microsystems por el tema de la marca registrada, así que llamaron a su implementación JScript. Mucha gente piensa que JScript y JavaScript son lenguajes diferentes pero similares. No es así. Son simplemente nombres diferentes para el mismo lenguaje, y la razón de los nombres diferentes fue para evitar problemas de marcas registradas. [ 8 ]

Sin embargo, JScript admite la compilación condicional, lo que permite al programador ejecutar selectivamente código dentro de comentarios de bloque . Esta es una extensión del estándar ECMAScript que no es compatible con otras implementaciones de JavaScript, por lo que la afirmación anterior no es del todo cierta, aunque la compilación condicional ya no es compatible con el modo Estándar de Internet Explorer 11.

En algún momento, se observaron otras diferencias de implementación interna entre JavaScript y JScript en la Red de Desarrolladores de Microsoft (MSDN). [ 9 ] El valor de tipo predeterminado para el elemento script en Internet Explorer es JavaScript, mientras que JScript era su alias. [ 10 ] En una aparente transición de JScript a JavaScript, en línea, la Guía del Desarrollador de Microsoft Edge [Legacy] se refiere a la biblioteca de referencia web de Mozilla MDN como su documentación definitiva. [ 11 ] A partir de octubre de 2017, las páginas de Microsoft MSDN para scripts en Internet Explorer también se redirigen allí. [ 12 ] Es posible que esta información no incluya objetos específicos de JScript, como Enumerator, que se enumeran en la referencia del lenguaje JavaScript en Microsoft Docs. [ 13 ] Estos proporcionan características adicionales que no están incluidas en los Estándares ECMA, ya sea que sean compatibles con el navegador Edge [Legacy] o su predecesor. [ 14 ]

Versiones

JScript (COM Clásico)

El JScript original es un motor de scripting activo . Al igual que otros lenguajes de scripting activo, está construido sobre la plataforma de automatización COM/OLE y proporciona capacidades de scripting a las aplicaciones host.

Esta es la versión que se utiliza al alojar JScript dentro de una página web visualizada por Internet Explorer , en una aplicación HTML anterior a IE9 , así como en ASP clásico , scripts de Windows Script Host y otros entornos de automatización .

A veces, a JScript se le denomina "JScript clásico" o "JScript de scripting activo" para diferenciarlo de las versiones más recientes basadas en .NET .

Algunas versiones de JScript están disponibles para varias versiones de Internet Explorer y Windows. Por ejemplo, JScript 5.7 se introdujo con Internet Explorer 7.0 y también se instala en Internet Explorer 6.0 con Windows XP Service Pack 3 , mientras que JScript 5.8 se introdujo con Internet Explorer 8.0 y también se instala con Internet Explorer 6.0 en Windows Mobile 6.5 .

La implementación de Microsoft de ECMAScript 5.ª edición en Windows 8 Consumer Preview se llama JavaScript y la versión correspondiente de Visual Studio 11 Express Beta incluye un editor JavaScript "completamente nuevo" y con todas las funciones, con mejoras de IntelliSense para la sintaxis de HTML5 y ECMAScript 5 , anotaciones "VSDOC" para sobrecargas múltiples, configuración DOM simplificada , coincidencia de llaves, esquema plegable y "ir a la definición". [ 15 ]

JScript también está disponible en Windows CE (incluido en Windows Mobile, opcional en Windows Embedded CE). La versión de Windows CE no incluye depuración activa.

JScript administrado

Managed JScript es una implementación de JScript para el Dynamic Language Runtime (DLR) , y forma parte de los lenguajes dinámicos de Microsoft para .NET, junto con IronRuby , IronPython y Dynamic Visual Basic . A diferencia de JScript .NET, que es menos dinámico que el JScript original pero ofrece compatibilidad con Common Language Infrastructure (CLI), Managed JScript está diseñado sobre el Dynamic Language Runtime (DLR) y proporciona las características necesarias para los escenarios de scripting.

Aunque actualmente está diseñado principalmente para usarse dentro de Silverlight y ASP.NET, también se puede integrar fácilmente en cualquier aplicación .NET. [ 21 ]

Existen dos versiones de Managed JScript: una para el entorno de ejecución de lenguaje común (CLR) de escritorio y otra para Silverlight CoreCLR.

El uso de JScript administrado no es compatible con .NET Compact Framework .

(Fuente: versiones de los archivos Microsoft.JScript.Runtime.dll en las carpetas ASP.NET Futures y Silverlight 1.1)

JScript "Chakra" (JsRT)

JScript "Chakra" se basa en la versión JScript (COM clásica), pero se ha rediseñado para mejorar el rendimiento en Internet Explorer 9 [ 22 ] a costa de la compatibilidad con el motor Active Scripting. Requiere una API específica de Microsoft JavaScript Hosting (JsRT) para su correcto funcionamiento. Por lo tanto, se instala junto con JScript 5.x y solo la utilizan Internet Explorer 9 y versiones posteriores, así como los hosts JsRT, mientras que otros hosts Active Scripting siguen utilizando la versión 5.x al solicitar el motor JScript.

Existen dos versiones del motor Chakra JsRT. La original, utilizada por Internet Explorer 9 y versiones posteriores, a veces se la denomina "jscript9.dll" o "motor Chakra heredado". La segunda versión, utilizada por el navegador Microsoft Edge Legacy , a veces se denomina "nuevo motor Chakra", "motor Edge" o "Chakra.dll". Ambas versiones de Chakra JsRT pueden ser utilizadas por otras aplicaciones que emplean la API JsRT y pueden instalarse simultáneamente. [ 25 ]

También existe una versión COM Classic de Chakra, denominada internamente "JScript 9 Legacy" (proporcionada por jscript9Legacy.dll), introducida con Windows 11 24H2, que recupera la compatibilidad con los hosts de Active Scripting y está pensada como un reemplazo directo compatible para JScript 5.8. Aunque es en gran medida compatible con el JScript 5.8 original, existen diferencias importantes que pueden causar incompatibilidades. [ 26 ]

Consulte la página aparte sobre el nuevo motor Chakra (Edge) .

JScript .NET (CLI)

JScript .NET es una implementación de JScript para Microsoft .NET . Es un lenguaje de línea de comandos (CLI) y, por lo tanto, hereda características muy potentes, pero carece de muchas características del lenguaje JScript original, lo que lo hace inadecuado para muchos escenarios de scripting. JScript .NET se puede usar para páginas ASP.NET y para aplicaciones .NET completas, pero la falta de compatibilidad con este lenguaje en Microsoft Visual Studio lo sitúa más como una opción de actualización para ASP clásico que utiliza JScript clásico que como un nuevo lenguaje de primera clase.

JScript .NET no es compatible con .NET Compact Framework .

Las versiones de JScript .NET no guardan relación con las versiones clásicas de JScript y constituyen una línea de productos independiente. Si bien JScript .NET no es compatible con el IDE de Visual Studio, sus versiones están sincronizadas con las de otros lenguajes .NET ( C# , VB.NET , VC++ ) que siguen las versiones correspondientes de Visual Studio.

.NET Framework 3.0 y 3.5 están basados ​​en la versión 2.0 y no incluyen la versión más reciente de JScript.NET (versión 10.0 para .NET Framework 4.0).

(Fuente: versión de archivo del compilador jsc.exe JScript.NET y Microsoft.JScript.dll instalados con .NET Framework)

Véase también

Notas

  1. JScript admite varias características no especificadas en el estándar ECMA, [ 17 ] al igual que JavaScript.
  2. Microsoft afirmó que JScript 3.0 era "el primer lenguaje de scripting que se ajustaba completamente al estándar ECMA-262". [ 18 ]
  3. 1 2 JScript 5.7 incluye una implementación del perfil compacto de ECMAScript (ECMA-327) que desactiva las características no requeridas por el ES-CP cuando se utiliza el ProgID "JScript.Compact".
  4. 1 2 3 4 JScript .NET se está "desarrollando en conjunto con ECMAScript Edición 4". [ 27 ]

Referencias

  1. "Tipos de archivos de script" . Msdn.microsoft.com. 24 de octubre de 2011. Consultado el 17 de agosto de 2012 .
  2. "Deshabilitar el motor de scripting heredado JScript en Internet Explorer" . Techcommunity Microsoft.com. 13 de octubre de 2020. Consultado el 15 de noviembre de 2021 .
  3. "JScript (ECMAScript3)" . Msdn.microsoft.com. 24 de octubre de 2011. Consultado el 17 de agosto de 2012 .
  4. "¿Qué es WSH?" . Msdn.microsoft.com. 24 de octubre de 2011 . Consultado el 17 de agosto de 2012 .
  5. ¿Qué es JScript 10.0?
  6. Cimpanu, Catalin. "Microsoft agrega una opción para deshabilitar JScript en Internet Explorer" . ZDNet . Consultado el 15 de noviembre de 2021 .
  7. "Opción para deshabilitar la ejecución de JScript en Internet Explorer" . support.microsoft.com . Consultado el 15 de noviembre de 2021 .
  8. Douglas Crockford, El lenguaje de programación JavaScript
  9. "El mundo de JScript, JavaScript, ECMAScript" . Blogs.msdn.microsoft.com. 15 de agosto de 2007. Consultado el 21 de octubre de 2017 .
  10. "elemento de script" . Msdn.microsoft.com . Consultado el 16 de octubre de 2017 .
  11. "Guía para desarrolladores de Microsoft Edge" . Docs.microsoft.com . Consultado el 18 de octubre de 2017 .
  12. "Documentando la Web Juntos" . Blogs.windows.com. 18 de octubre de 2017. Consultado el 18 de octubre de 2017 .
  13. "Referencia del lenguaje JavaScript (Microsoft Docs)" . Docs.microsoft.com . Consultado el 18 de octubre de 2017 .
  14. "Objetos JavaScript (Documentación de Microsoft)" . Docs.microsoft.com . Consultado el 18 de octubre de 2017 .
  15. "Novedades de ASP.NET 4.5 y Visual Web Developer 11 Beta: Sitio oficial de Microsoft ASP.NET" . 13 de mayo de 2022."Novedades de ASP.NET 4.5 y desarrollo web en Visual Studio 11 Beta" . 12 de mayo de 2015.
  16. Información de la versión (Scripts de Windows – JScript) , Microsoft , consultado el 31/05/2010
  17. Características de Microsoft JScript – No ECMA (Scripts de Windows – JScript) , Microsoft , consultado el 31/05/2010
  18. Microsoft adopta el estándar de scripting de Internet ECMA; lanza JScript 3.0, el primer lenguaje de scripting compatible con ECMA del sector, en productos clave de Microsoft , Microsoft, 30 de junio de 1997, archivado del original el 12 de enero de 2009.
  19. Lakshman, Pratap. "Desviaciones de JScript respecto a ES3" (PDF) . The Register . Situation Publishing / Microsoft . Consultado el 9 de febrero de 2020 .
  20. "¿Windows 11 22H2 tiene una forma diferente de usar el motor JS? - Preguntas y respuestas de Microsoft" .
  21. (Fuente: Blog de JScript , Blog Thinking Dynamic de Jim Hugunin , Fuente: Blog de Jitu )
  22. Niyogi, Shanku (18 de marzo de 2010). "El nuevo motor JavaScript en Internet Explorer 9" . IEBlog (archivos) . Microsoft . Consultado el 19 de febrero de 2020 .
  23. Información de la versión (Scripts de Windows – JScript) , Microsoft , consultado el 31/05/2010
  24. "Documentos de soporte de estándares de Internet Explorer" . Especificaciones abiertas (Microsoft Docs) . Microsoft . Consultado el 19 de febrero de 2020 .
  25. "Dirigido a Microsoft Edge frente a motores heredados en las API de JsRT" . Documentación de Microsoft Edge (Microsoft Docs) . Microsoft . Consultado el 19 de febrero de 2020 .
  26. "¿Windows 11 22H2 tiene una forma diferente de usar el motor JS? - Preguntas y respuestas de Microsoft" .
  27. ¿Qué es JScript .NET? , Microsoft
  • Documentación de JScript en la biblioteca MSDN.
  • Notas de la versión 5.7 de JScript
  • Documentación de JScript .NET en la biblioteca MSDN.
  • Blog de JScript
  • Historial de versiones de JavaScript – JScript – ECMAScript
  • Características de JScript – ECMA
  • Características de JScript – No ECMA
  • Nuevas funciones en JavaScript (Documentación de Microsoft)
Obtenido de " https://en.wikipedia.org/w/index.php?title=JScript&oldid=1346660035#Managed_JScript "