gpt4 book ai didi

javascript - 如果没有 __proto__ 我将如何重写

转载 作者:行者123 更新时间:2023-11-30 08:56:07 25 4
gpt4 key购买 nike

我正在使用 Node.JSExpressJS。以下代码用于使用我自己的消息扩展 Errors 对象并且运行良好,但我知道 __proto__ 是非标准的。

如果没有 __proto__,我将如何重写以下代码?

var AccessDenied = exports.AccessDenied = function(message) {
this.name = 'AccessDenied';
this.message = message;
Error.call(this, message);
Error.captureStackTrace(this, arguments.callee);
};
AccessDenied.prototype.__proto__ = Error.prototype;

最佳答案

使用Object.create()创建新的原型(prototype)对象,并添加一个不可枚举的construtor属性。

AccessDenied.prototype = Object.create(Error.prototype, {
constructor: {
value: AccessDenied,
writeable: true,
configurable: true,
enumerable: false
}
});

或者如果您不关心 constructor 属性:

AccessDenied.prototype = Object.create(Error.prototype); 

关于javascript - 如果没有 __proto__ 我将如何重写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13556980/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com