相关疑难解决方法(0)

继承自Error对象 - message属性在哪里?

我在Javascript中定义自定义错误对象时发现了一个奇怪的行为:

function MyError(msg) {
    Error.call(this, msg);
    this.name = "MyError";
}
MyError.prototype.__proto__ = Error.prototype;

var error = new Error("message");
error.message; // "message"

var myError = new MyError("message");
myError instanceof Error; // true
myError.message; // "" !
Run Code Online (Sandbox Code Playgroud)

为什么new Error("message")设置message属性,而Error.call(this, msg);不是?当然,我可以this.message = msgMyError构造函数中定义,但我不太明白为什么它还没有设置在第一位.

javascript

32
推荐指数
3
解决办法
2万
查看次数

标签 统计

javascript ×1