Javascript 逻辑运算符 :?

标签 javascript operator-keyword

我在检查 underscore.js 的 src 时发现了这个:

_.isRegExp = function(obj) {
    return !!(obj && obj.test && obj.exec && (obj.ignoreCase || obj.ignoreCase === false));
};

为什么是“!!”用过的?它应该被理解为 NOT-NOT 还是这里有一些深奥的 JS 细微差别?

最佳答案

这只是将结果转换为 bool 值的一种迟钝方式。

关于Javascript 逻辑运算符 :?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6499568/

相关文章:

c++ - C++类型转换类成员运算符问题

具有方法调用的表达式中的 Java 后缀运算符优先级

c++ - C++ 中的重载运算符 -=

javascript - 表单中的文本幻灯片

c - 在 C 中,为什么包含逗号(,)运算符的表达式(语句)的工作方式不同

C++ 命名空间、内部类和运算符解析

javascript - 特定部分的 ckeditor

javascript - 需要测试复合 React 组件是否调用处理程序 prop

javascript - 如何在 JavaScript 中触发按钮单击 Enter

javascript - 弹出搜索框和平滑滚动到顶部