Да, это намеренно (часть спецификации). Если объект имеет собственное свойство (.property
в вашем примере), это свойство будет использоваться, а не унаследовано. Если это свойство существует, но является свойством accessor без getter, тогда возвращается undefined
.
Обратите внимание, что это поведение не изменилось с ES5.