我在检查 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/