【发布时间】:2017-01-18 12:15:04
【问题描述】:
为什么这会导致错误?
'use strict';
class InvalidCredentialsError extends Error {
constructor(msg) {
super(msg);
this.name = 'InvalidCredentialsError';
}
}
const err = new InvalidCredentialsError('');
console.log(err instanceof InvalidCredentialsError);
但这会返回 true:
console.log(err instanceof Error);
【问题讨论】:
-
什么是
err?你的意思是const errClass = new InvalidCredentialsError(); console.log(errClass instanceof Error);? -
在您提供的代码中,
err也看起来像undefined,而errClass不是类实例,而是对类本身的引用。 -
@evolutionxbox 道歉!我忘了复制完整的代码!现在更新了:)
-
这很奇怪。当我在 Chrome 中运行此代码时,我得到
true和true。 -
这是一个转译器限制。另请参阅this。
标签: javascript