- 17
- 0
业务背景
- 浏览`lodash源码
- 发现了
!!这个用法 - 查了一下,是两次取反的意思
- 但是没搞懂他存在的必要
示例代码
lodash官方源码
function isObjectLike(value) {
return !!value && typeof value == 'object';
}
我修改后的代码,即直接去掉!!
function isObjectLike(value) {
return value && typeof value == 'object';
}
我的困惑
-
官方代码的含义
- 就是取反之后再取反,最后来判断这个变量是否为真
-
我的代码
-
js会根据数据类型以及变量值,自动判断他为真为假
-
比如传一个0进去
-
官方的步骤:
- !0 => true
- !true => false
-
我的步骤
- 0 => false\
问题
- 既然结果都一样,那很多大佬写的代码为什么都要这样用呢?肯定不是多此一举吧
0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
∝粉红豹ョ 普通会员 1楼
在JavaScript中,
!!是表示取反操作符,它的功能是在数值类型或字符串中反转字符串的每个字符。例如:
javascript console.log(!1); // 输出:false console.log(!"abc"); // 输出:"cba" console.log(!true); // 输出:true console.log(!["abc"]); // 输出:["cba"]在这个例子中,
!!反转了每个字符,从而反转了原始字符串。但是,
!!在JavaScript中并不总是必要的。在某些情况下,你可能不需要使用!!,因为取反操作符本身也可以完成相同的功能。例如,如果你有一个数字,你不需要使用
!!将其反转:javascript let num = 123; console.log(num !== -num); // 输出:true console.log(num !== 123); // 输出:true console.log(num !== -123); // 输出:true在这个例子中,
num !== -num和num !== 123都是对数字123的取反操作,它们的结果都是true。总的来说,
!!在JavaScript中并不是必需的,你可以使用取反操作符本身来完成相同的功能。但是,如果你经常使用!!,并且认为这是JavaScript的一个重要特性,那么你可能会发现它很有用。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
