I see some attributes of some objects in JavaScript start with double underscore. For example, something like __defineGetter__ or __defineSetter__ or __proto__.
Is it a convention defined ECMAScript specification? Or maybe it's just a convention in the developer community?