Javascript JS在原型上定义一个getter函数,并在对象本身上显示它

Javascript JS在原型上定义一个getter函数,并在对象本身上显示它,javascript,Javascript,我有以下代码将属性添加到原型中: "use strict"; var User = /** @class */ (function () { function User() { } Object.defineProperty(User.prototype, "prop", { get: function () { return 1; }, enumerable: true, confi

我有以下代码将属性添加到原型中:

"use strict";
var User = /** @class */ (function () {
    function User() {
    }
    Object.defineProperty(User.prototype, "prop", {
        get: function () {
            return 1;
        },
        enumerable: true,
        configurable: true
    });
    return User;
}());
console.log(new User());
console.log函数的输出如下:(在Chrome中)

User{}

道具:1这似乎是Chrome的一个bug(或奇怪的“设计”行为)。它在Firefox和Safari中运行良好。

可以肯定,这是一款显示奇怪内容的浏览器,而不是底层Javascript的错误。不确定它是否是在Firefox中设计的,它会按预期显示出来。也许是Chrome中的一个bug?
User {}
 prop: 1 <====
 __proto__:
  prop: 1 <=====
  constructor: ƒ User()
  get prop: ƒ ()
  __proto__: Object