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