Browser support for using a reserved word as a property name in JavaScript

Solution 1:

There is a table showing browser support for ECMAScript 5 features here: http://kangax.github.com/es5-compat-table/

Reserved words can be used as property names in IE9, Firefox 3.5+ and Chrome 7+, Safari 5.1+.

Solution 2:

You can use those words, but only as strings and not shorthand properties.

foo['class']; // cool
foo.class;    // not cool

But here is the actual list you requested. None of these can be used via property dot syntax. https://web.archive.org/web/20140902235313/http://javascript.about.com/library/blreserved.htm


Also, only slightly tangential, CoffeeScript notices this and auto stringifies them for you. http://jashkenas.github.com/coffee-script/#literals

Input:

$('.account').attr class: 'active'
log object.class

JS Ouptput:

$('.account').attr({
  "class": 'active'
});
log(object["class"]);

I happen to think that is pretty dang neat.