| Сообщение от Дзен-трансгуманист | 
	| Да и где гарантия, что прототип не будет расширен обычным способом в каком-нибудь скрипте по соседству? (в том смысле, что к моменту исполнения кода к прототипу уже могут быть прикручены и другие перечисляемые сущности) | 
	
Да, если перечисляемые сущности уже прикручены, то этот способ менее удобен. Но если легко сделать все свойства прототипа неперечисляемыми, и часто приходится перебирать свойства объекта-наследника, то способ с Object.defineProperty самый удобный, так как позволяет использовать for ... in.