Названия свойств javascript, такие как __proto__, не стандартизированы в ES5/6?

Есть некоторые свойства в JS начинается / заканчивается двойным подчеркиванием, как прото. Но я знаю, что это равно как constructor.prototype, верно? Я хотел бы знать, могут ли в стандарте ES5/ES6 эти имена свойств xxx_ или они являются ключевыми словами, относящимися к конкретной реализации, поведение в разных реализациях может различаться?

Плюс: где я могу проверить, является ли ключевое слово частью ES stardard, каких-либо рекомендуемых веб-сайтов?

Благодарю.

1 ответ

Решение

Я знаю, что это равно как constructor.prototype, верно?

Нет

Я хотел бы знать, включены ли в стандарт ES5/ES6 эти __xxx__ Имена свойств, или это просто ключевые слова, специфичные для реализации, могут иметь разное поведение в разных реализациях?

Вы можете найти обзор в документации MDN, есть __count__, __noSuchMethod__, __parent__, __proto__, __defineGetter__, __defineSetter__, __lookupGetter__, а также __lookupSetter__; и все они устарели. Другие реализации, кроме Gecko, могли бы показывать больше.

Только методы получения / установки и __proto__ были распространены среди реализаций, и только __proto__ попал в раздел совместимости стандарта ES6.

где я могу проверить, является ли ключевое слово частью ES stardard, каких-либо рекомендуемых веб-сайтов?

Просто прочитайте сами стандарты!

Другие вопросы по тегам