Warning: Conditional compilation is not supported in Internet Explorer 11 Standards mode and Windows 8.x Store apps. Conditional compilation is supported in Internet Explorer 10 Standards mode and in all earlier versions.

The @set statement creates variables used with conditional compilation statements.


@set @varname = term


Valid JavaScript variable name. Must be preceded by an "@" character at all times.
Zero or more unary operators followed by a constant, conditional compilation variable, or parenthesized expression.


Numeric and Boolean variables are supported for conditional compilation. Strings are not. Variables created using @set are generally used in conditional compilation statements, but can be used anywhere in JavaScript code.

Examples of variable declarations look like this:

@set @myvar1 = 12  

@set @myvar2 = (@myvar1 * 20)  

@set @myvar3 = @_jscript_version

The following operators are supported in parenthesized expressions:

  • ! ~

  • * / %

  • + -

  • << >> >>>

  • < <= > >=

  • == != === !==

  • & ^ |

  • && | |

If a variable is used before it has been defined, its value is NaNNaN can be checked for using the @if statement:

@if (@newVar != @newVar)  

This works because NaN is the only value not equal to itself.


Supported in all versions of Internet Explorer, but not in Windows 8.x Store apps.

See Also

Document Tags and Contributors

Contributors to this page: khorne3, erikadoyle
Last updated by: khorne3,