10

The hacks I've seen for identifying a JavaScript version are all tailored to the browser, not an ASP Classic server running JavaScript.

(And no, I'm not running ASP Classic/JavaScript by choice.)

Shay Guy
  • 1,010
  • 1
  • 10
  • 21
  • Out of curiosity, how is server-side JavaScript involved with ASP Classic? – Pointy Feb 04 '15 at 21:13
  • 1
    @Pointy — JScript is one of the more common languages used for Classic ASP. I think only VBScript is more common. (The only other language I've heard of being used is PerlScript via a plugin that ActiveState used to make) – Quentin Feb 04 '15 at 21:23
  • @Quentin so it used JScript on the *server*? Huh. I did a tiny bit of ASP work back around 1999 or so but it was all VB. So server-side JScript had some sort of COM integration I guess. Weird. – Pointy Feb 04 '15 at 21:36
  • 1
    No @Pointy JScript (Microsoft implementation of ECMAScript) is an ActiveX Scripting language and available in Classic ASP by using the `<%@ Language = "JScript" %>` processing directive. Do not confuse JScript with JavaScript there are differences *(as [@Dai](http://stackoverflow.com/users/159145/dai) point's out in their answer below)*. – user692942 Feb 04 '15 at 22:06
  • @Lankymart `<%@ language=JavaScript %>` also works, at least sometimes. It's what the system I'm using starts its ASP files with. – Shay Guy Feb 04 '15 at 22:12
  • @ShayGuy You're right it does but that is just an alias that maps to `JScript`. The scripting engine used is the same. – user692942 Feb 04 '15 at 22:16
  • Thanks for clarifying that you are not running it by choice. The amount of foul things I could say about Classic ASP are so numerous that it would take a book twice as thick as Les Miserables. – Captain Jack Sparrow Sep 21 '22 at 15:44

1 Answers1

20

Disclaimer: I'm an engineer on Microsoft's JavaScript team (specifically, Chakra).

The IActiveScript JavaScript engine used by "Classic ASP" is also used by the Windows Script Host (cscript and wscript) and was also used by IE for a while (IE9 and later, certainly does not).

Anyway, the JScript engine generally coincides with the ECMAScript 3.0 specification with some proprietary extensions (such as ActiveXObject). The specification is available here: http://www.ecma-international.org/publications/files/ECMA-ST-ARCH/ECMA-262,%203rd%20edition,%20December%201999.pdf - this specification was written in 1999.

This version of JScript has not been updated much since the days of Windows 2000 (i.e. no new features have been added, the only changes have been for the benefit of security).

As such, it does not include features introduced in ECMAScript 5, like strict mode, or Array.isArray.

Dai
  • 141,631
  • 28
  • 261
  • 374