Some browser vendors have implemented getter / setter methods for JavaScript properties.
FF and Webkit have __defineGetter__ and __defineSetter__ implemented for DOM objects, and get and set for an object that is outside of the ECMA specification. However, both, as well as IE 8+, have Object.defineProperty (from the ECMA specification). Read about it here.
As for your initial question, I would say that the reason he named the property in JavaScript is because it is a dynamic language, and the basic markup uses only properties and local variables. Since everything is associated with a specific hierarchy of scope, all you have is different branches of the tree at each level. And Douglas Crookford named their properties :)
fredrik
source share