账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    [已解决]js中!!有存在的必要么?为什么?
    22
    0

    业务背景


    • 浏览`lodash源码
    • 发现了!!这个用法
    • 查了一下,是两次取反的意思
    • 但是没搞懂他存在的必要

    示例代码


    lodash官方源码
    function isObjectLike(value) {
      return !!value && typeof value == 'object';
    }
    我修改后的代码,即直接去掉!!
    function isObjectLike(value) {
      return value && typeof value == 'object';
    }

    我的困惑


    • 官方代码的含义

      • 就是取反之后再取反,最后来判断这个变量是否为真
    • 我的代码

      • js会根据数据类型以及变量值,自动判断他为真为假

    比如传一个0进去

    • 官方的步骤:

      1. !0 => true
      2. !true => false
    • 我的步骤

      1. 0 => false\

    问题


    • 既然结果都一样,那很多大佬写的代码为什么都要这样用呢?肯定不是多此一举吧
    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 0
    更多回答
    扫一扫访问手机版