Microsoft JScript
JScript Reserved Keywords

JScript has a number of reserved keywords. These words come in three types: JScript reserved keywords, future reserved words, and words to avoid.

JScript Keywords
break false in this void
continue for new true while
delete function null typeof with
else if return var

JScript Future Keywords
case debugger export super
catch default extends switch
class do finally throw
const enum import try

The words to avoid are any that are already the names of intrinsic JScript objects or functions. Words like String or parseInt are included in this. Using any of the keywords from the first two categories causes a compilation error when your script is first loaded. Using a reserved word from the third set can cause odd behavior problems if you attempt to use both your variable and the original entity of the same name in the same script. For example, the following script does not do quite what you think it should:

var String;
var text = new String("This is a string object");

In this case, you get an error saying that String is not an object. Many cases of using a pre-existing identifier aren't this obvious.