stringtranslate.com

jscript

JScript es el dialecto heredado de Microsoft [2] del estándar ECMAScript [3] que se utiliza en el navegador web Internet Explorer de Microsoft .

JScript se implementa como un motor Active Scripting . Esto significa que se puede "conectar" a aplicaciones de automatización OLE que admitan Active Scripting, como Internet Explorer , Active Server Pages y Windows Script Host . [4] También significa que dichas aplicaciones pueden utilizar múltiples lenguajes 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 separado, también conocido como JScript .NET , que agrega varias características nuevas de la cuarta edición abandonada del estándar ECMAScript. Debe compilarse para .NET Framework versión 2 o 4, pero las anotaciones de tipo estático son opcionales.

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

Comparación con JavaScript

Como explicó Douglas Crockford en su charla titulada The JavaScript Programming Language en YUI Theatre,

[Microsoft] no quería tratar con Sun Microsystems sobre el tema de la marca registrada, por lo que llamaron a su implementación JScript. Mucha gente piensa que JScript y JavaScript son lenguajes diferentes pero similares. Ese no es el caso. Son simplemente nombres diferentes para el mismo idioma, y ​​la razón por la que los nombres son diferentes es para solucionar problemas de marcas. [8]

Sin embargo, JScript admite la compilación condicional , que permite a un programador ejecutar código de forma selectiva dentro de los comentarios del 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 completamente cierta, aunque la compilación condicional ya no es compatible con el modo Estándar de Internet Explorer 11.

Otras diferencias de implementación interna entre JavaScript y JScript, en algún momento, se indican en Microsoft Developer Network (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 para desarrolladores de Microsoft Edge hace referencia a la biblioteca de referencia web Mozilla MDN como su documentación definitiva. [11] A partir de octubre de 2017, las páginas de Microsoft MSDN para secuencias de comandos 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] Proporcionan características adicionales que no están incluidas en los Estándares ECMA, ya sea que sean compatibles con el navegador Edge o su predecesor. [14]

Versiones

JScript (COM clásico)

El JScript original es un motor de Active Scripting . Al igual que otros lenguajes Active Scripting, se basa en la plataforma COM/OLE Automation y proporciona capacidades de scripting para alojar aplicaciones.

Esta es la versión utilizada cuando se aloja JScript dentro de una página web mostrada 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 se hace referencia a JScript como "JScript clásico" o "JScript de Active Scripting" para diferenciarlo de las versiones más nuevas 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 instaló para 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 instaló con Internet Explorer 6.0 en Windows Mobile 6.5 .

La implementación de Microsoft de ECMAScript 5th Edition en Windows 8 Consumer Preview se llama JavaScript y la correspondiente Visual Studio 11 Express Beta incluye un editor de JavaScript "completamente nuevo" y con todas las funciones con mejoras de IntelliSense para la sintaxis de HTML5 y ECMAScript 5 , anotaciones "VSDOC" para múltiples sobrecargas, configuración DOM simplificada , coincidencia de llaves, esquemas plegables e "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 carece de depuración activa.

JScript administrado

Managed JScript es una implementación de JScript para Dynamic Language Runtime , es 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 proporciona compatibilidad con CLS , Managed JScript está diseñado sobre DLR y proporciona las funciones necesarias para escenarios de scripting.

Si bien en este momento está diseñado principalmente para usarse dentro de Silverlight y ASP.NET, también puede integrarse fácilmente en cualquier aplicación .NET.

(Fuente: Blog de JScript, blog Thinking Dynamic de Jim Hugunin, Fuente: Blog de Jitu)

Existen dos compilaciones de Managed JScript: una para Desktop CLR y otra para Silverlight CoreCLR

JScript administrado no es compatible con .NET Compact Framework .

(Fuente: versiones de archivos de 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ásico), pero ha sido rediseñado para mejorar el rendimiento en Internet Explorer 9 [20] a expensas de la compatibilidad adecuada con el motor Active Scripting. Requiere una API específica de Microsoft JavaScript Hosting (JsRT) para su uso adecuado. Por lo tanto, se instala junto con JScript 5.x y solo lo utilizan Internet Explorer 9 y versiones posteriores, así como hosts JsRT, mientras que otros hosts de Active Scripting siguen usando la versión 5.x cuando solicitan el motor JScript.

Hay dos versiones del motor Chakra, la original utilizada por Internet Explorer 9 y posteriores, y a veces denominada "jscript9.dll" o "motor Chakra heredado", y una segunda utilizada por el navegador Microsoft Edge y a veces denominada como "nuevo motor Chakra", "motor Edge" o "Chakra.dll". Ambas versiones de Chakra pueden ser utilizadas por otras aplicaciones que utilizan la API JsRT y pueden instalarse una al lado de la otra. [23]

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

JScript .NET (CLI)

JScript .NET es una implementación Microsoft .NET de JScript. Es un lenguaje CLI y, por lo tanto, hereda características muy poderosas, pero carece de muchas características del lenguaje JScript original, lo que lo hace inadecuado para muchos escenarios de secuencias de comandos. JScript .NET se puede usar para páginas ASP.NET y para aplicaciones .NET completas, pero la falta de soporte para este lenguaje en Microsoft Visual Studio lo coloca más como una ruta de actualización para ASP clásico usando JScript clásico que como un nuevo de primera clase. idioma.

JScript .NET no es compatible con .NET Compact Framework . [ cita necesaria ]

Nota: Las versiones de JScript .NET no están relacionadas con las versiones clásicas de JScript. JScript .NET es un producto independiente. Aunque JScript .NET no es compatible con Visual Studio IDE, sus versiones están sincronizadas con otras versiones de lenguajes .NET ( C# , VB.NET , VC++ ) que siguen sus correspondientes versiones de Visual Studio.

.NET Framework 3.0 y 3.5 se basan en 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 instalado con .NET Framework)

Ver también

Notas

  1. ^ JScript admite varias funciones no especificadas en el estándar ECMA, [17] al igual que JavaScript.
  2. ^ Microsoft dijo que JScript 3.0 fue "el primer lenguaje de secuencias de comandos que se ajusta completamente al estándar ECMA-262". [18]
  3. ^ ab JScript 5.7 incluye una implementación de ECMAScript Compact Profile (ECMA-327) que desactiva funciones no requeridas por ES-CP cuando se usa el ProgID "JScript.Compact". [ cita necesaria ]
  4. ^ abcd JScript .NET "se está desarrollando junto con ECMAScript Edition 4". [24]

Referencias

  1. ^ "Tipos de archivos de secuencia de comandos". msdn.microsoft.com. 24 de octubre de 2011 . Consultado el 17 de agosto de 2012 .
  2. ^ "Deshabilitar el motor de secuencias de comandos heredado JScript en Internet Explorer". TECHCOMMUNITY.MICROSOFT.COM . 2020-10-13 . 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, Catalín. "Microsoft agrega la 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". soporte.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 guión". 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. ^ "Documentar juntos la Web". 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 (Microsoft Docs)". Docs.microsoft.com . Consultado el 18 de octubre de 2017 .
  15. ^ "Novedades de ASP.NET 4.5 y Visual Web Developer 11 Beta: el 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 (Windows Scripting – JScript), Microsoft , consultado el 31 de mayo de 2010
  17. ^ Funciones de Microsoft JScript: no ECMA (Windows Scripting – JScript), Microsoft , consultado el 31 de mayo de 2010
  18. ^ Microsoft adopta el estándar de secuencias de comandos de Internet ECMA; Ofrece el primer lenguaje de secuencias de comandos compatible con ECMA de la industria, JScript 3.0, en productos clave de Microsoft, Microsoft, 1997-06-30, archivado desde el original el 2009-01-12
  19. ^ Lakshman, Pratap. "Desviaciones de JScript de ES3" (PDF) . El registro . Publicación de situaciones / Microsoft . Consultado el 9 de febrero de 2020 .
  20. ^ 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 .
  21. ^ Información de la versión (Windows Scripting – JScript), Microsoft , consultado el 31 de mayo de 2010
  22. ^ "Documentos de soporte de estándares de Internet Explorer". Abra Especificaciones (Microsoft Docs) . Microsoft . Consultado el 19 de febrero de 2020 .
  23. ^ "Apuntando a Microsoft Edge frente a motores heredados en las API JsRT". Documentación de Microsoft Edge (Microsoft Docs) . Microsoft . Consultado el 19 de febrero de 2020 .
  24. ^ ¿ Qué es JScript .NET?, Microsoft

enlaces externos