2.1.1 Global State

The following state is shared by the conditional source text processing of all independent source texts that make up an ECMAScript program (see [ECMA-262-1999] section 14). The state is initialized prior to the first such processing as follows:

  • SubstitutionEnabled      Boolean flag with an initial value of false.

  • CCvariables                  A set of association between string valued keys and values. The keys are strings. The values may be either ECMAScript Number ([ECMA-262-1999] section 8.5) or Boolean ([ECMA-262-1999] section 8.3) values. The initial associations are defined in the following table.

    Key

    Initial Value

    "_win32"

    Defined as true if this JScript 5.x implementation is a Microsoft 32-bit–based implementation. Otherwise, this association is not initially defined.

    "_win64"

    Defined as true if this JScript 5.x implementation is a Microsoft 64-bit–based implementation. Otherwise, this association is not initially defined.

    "_x86"

    Defined as true when running on a processor using the x86-based architecture. Otherwise, this association is not initially defined.

    "_ia64"

    Defined as true when running on a processor using the Itanium 64-bit architecture. Otherwise, this association is not initially defined.

    "_amd64"

    Defined as true when running on a processor using the x64 architecture. Otherwise, this association is not initially defined.

    "_jscript"

    true.

    "_jscript_build"

    Number value that identifies the specific build of the JScript 5.x implementation that is running.

    "_jscript_version"

    Number value representing the version of the JScript 5.x language implementation. The value 5.7 indicates that the implementation only supports features of the JScript 5.7 language. The value 5.8 indicates that the implementation supports both 5.7 and 5.8 language features. 

    "_microsoft"

    Defined as true when running on a JScript 5.x implementation provided by Microsoft. Otherwise, this association is not initially defined.