考虑
class A {}
// somewhere in a a test using mocha.js with babel es2105 preset on
const a = new A();
assert.ok(typeof(a) === "A");
此测试失败。调查一下,结果是typeof返回“object”而不是“A”,这导致测试失败。因此,巴贝尔错误地改变了类型的呼叫。
我尝试使用ES2015 typeof symbol transform,但这没有帮助。查看代码,它只对Symbol实例正确执行。这是有道理的。
如何修复以达到正确的行为?
答案 0 :(得分:1)
这是正确的行为。 a
是一个对象,A
的一个实例,可能正是您要找的对象:
assert.ok(a.constructor.name === 'A')