gpt4 book ai didi

javascript - 为什么 lodash.isError 需要存在?

转载 作者:行者123 更新时间:2023-11-28 17:09:35 24 4
gpt4 key购买 nike

Lodash 提供了一种名为 _.isError 的方法。为什么我们需要使用该方法而不是 val instanceof Error

如果你查看源代码,你会看到:

    function isError(value) {
if (!isObjectLike(value)) {
return false;
}
var tag = baseGetTag(value);
return tag == errorTag || tag == domExcTag ||
(typeof value.message == 'string' && typeof value.name == 'string' && !isPlainObject(value));
}

我不确定这种复杂性可以处理哪些情况 val instanceof Error 不能处理。

最佳答案

这有点做作,但这里就是 _.isError(val)val instanceof Error发散:

(假设<script src="https://cdn.jsdelivr.net/npm/lodash@4.17.11/lodash.min.js"></script>在html中)

function Foo() {
this.message="a";
this.name="a";
}
_.isError(new Foo) // true
new Foo instanceof Error // false

我不能说这是否是他们的预期行为,但这就是 lodash 方法处理额外复杂性的地方。

关于javascript - 为什么 lodash.isError 需要存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54816644/

24 4 0
文章推荐: javascript - 如何在Redux中为一组组合的reducer制定规则?
文章推荐: html - 如何在 HTML 中的 之后和 中创建换行符?