javascript - 为什么在某些情况下下划线不喜欢 typeof ?

标签 javascript underscore.js

根据 Crockford's,好的部分

typeof is accurate for function, string, number, boolean, and undefined. null and array are both incorrectly reported as object.

那么为什么在 typeof 确实有效的情况下不使用它呢?它总是更快,这就是为什么我想知道为什么在这些情况下它不是首选。

尤其是函数、字符串和数字。

http://underscorejs.org/docs/underscore.html#section-111

  each(['Arguments', 'Function', 'String', 'Number', 'Date', 'RegExp'], function(name) {
    _['is' + name] = function(obj) {
      return toString.call(obj) == '[object ' + name + ']';
    };   });

最佳答案

这些包装器的目的是捕获装箱的值对象。

typeof new Number(1) === 'object'

关于javascript - 为什么在某些情况下下划线不喜欢 typeof ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21470933/

相关文章:

javascript - 从对象数组中获取唯一元素数组

javascript - 我如何像 Elm 那样在 JS 中传递函数?

javascript - 错误 : Cannot find module 'underscore' thrown in console for all Meteor commands

javascript - underscorejs中_.each(list)为空时如何显示消息?

javascript - 强制 Canvas 使用 flex 列中的可用空间

javascript - 根据其他选定的选项框更改选择框值

javascript - 没有在 Angular 模型中获取 javascript 值

javascript - 对对象数组进行分组的最有效方法

javascript - PHP,JSON写入表

javascript - 如何交换字符串中的子字符串?