ECMAScript reserves a set of keywords for future use. These are intended to make provision for future language features and to give developers warning that they should avoid using these keywords in order that their scripts should continue to operate when the language is revised.
Here is a list of keywords that ECMA edition 2 mandates a compliant implementation should support:
In addition, these are constants that should also be avoided:
The third edition of the ECMA standard adds these keywords which in the earlier edition were reserved for future use:
The remaining reserved keywords as of edition 3 are:
However, you should note that Netscape anticipates a future standard and supports these already:
You can code defensively to avoid any future problems. Using an underscore character or digit in your identifier names should improve the chances of your script continuing to operate properly in later versions of the language. Using upper case may help, but is less of a guarantee of safety. In particular, you should be very careful to avoid the names of properties and methods belonging to the Global object.