There're some properties in js starts/ends with double underscores like __proto__
. But I know it equals to constructor.prototype, right? I wish to know whether ES5/ES6 standard included these xxx_ property names, or they're just implementation specific keywords, might have different behavior in different implementations?
Plus: where can I check if a keyword is part of ES standard?
I know it equals to constructor.prototype, right?
No.
I wish to know whether ES5/ES6 standard included these
__xxx__
property names, or they're just implementation specific keywords, might have different behavior in different implementations?
You can find an overview in the MDN documentation, there are __count__
, __noSuchMethod__
, __parent__
, __proto__
, __defineGetter__
, __defineSetter__
, __lookupGetter__
, and __lookupSetter__
; and all of them are deprecated. Other implementations than Gecko might have featured more.
Only the getter/setter methods and __proto__
were common amongst implementations, and only __proto__
got into the compatibilty section of the ES6 standard.
where can I check if a keyword is part of ES stardard, any recommended web-sites?
Just read the standards themselves!