Conditional Compilation (Windows Scripting - JScript)


Conditional compilation allows the use of new JScript language features without sacrificing compatibility with older versions that do not support the features.


Conditional compilation is supported in all versions of Internet Explorer prior to Internet Explorer 11. Starting with Internet Explorer 11 Standards mode, and in Windows 8.x Store apps, conditional compilation is not supported.


Conditional compilation is activated by using the @cc_on statement, or using an @if or @set statement. Some typical uses for conditional compilation include using new features in JScript, embedding debugging support into a script, and tracing code execution.

Always place conditional compilation code in comments, so that hosts (like Netscape Navigator) that do not understand conditional compilation will ignore it. Here is an example.

/*@cc_on @*/
/*@if (@_jscript_version >= 4)
   alert("JScript version 4 or better");
   @else @*/
   alert("You need a more recent script engine.");
/*@end @*/

This example uses special comment delimiters that are only used if conditional compilation is activated by the @cc_on statement. Scripting engines that do not support conditional compilation only see the message informing of the need for a new scripting engine.