if...else Statement (Windows Scripting - JScript)

 

Conditionally executes a group of statements, depending on the value of an expression.

Syntax

if (condition)
   statement1
[else
   statement2] 

Arguments

  • condition
    Required. A Boolean expression. If condition is null or undefined, condition is treated as false.

  • statement1
    Optional. The statement to be executed if condition is true. Can be a compound statement.

  • statement2
    Optional. The statement to be executed if condition is false. Can be a compound statement.

Remarks

It is generally good practice to enclose statement1 and statement2 in braces ({}) for clarity and to avoid inadvertent errors.

Legacy Code Example

In the following example, you may intend that the else be used with the first if statement, but it is used with the second one.

var z = 3;
if (x == 5)
    if (y == 6)
        z = 17;
else
    z = 20;

The above example is equivalent to the following code:

var z = 3;
if (x == 5)
    {
    if (y == 6)
        z = 17;
    else
        z = 20;
    }

Changing the code in the following manner eliminates any ambiguities:

var z = 3;
if (x == 5)
    {
    if (y == 6)
        z = 17;
    }
else
    z = 20;

Similarly, if you want to add a statement to statement1, and you do not use braces, you can accidentally create an error:

if (x == 5)
    z = 7;
    q = 42;
else
    z = 19;

In this case, there is a syntax error, because there is more than one statement between the if and else statements. Braces are required around the statements between if and else.

Requirements

Version 1

Change History

Date

History

Reason

March 2009

Clarified example.

Content bug fix.

See Also

Conditional (Ternary) Operator (?:) (Windows Scripting - JScript)