当前位置: 首页 > 面试题库 >

为什么要使用if(!! err)?

锺伟志
2023-03-14
问题内容

在以下来自sequlize docs的代码示例中:

if (!!err) {
    console.log('Unable to connect to the database:', err)
} else {
    console.log('Connection has been established successfully.')
}

他们为什么要使用它(!!err)来检验err的真实性?那不一样if (err)吗?


问题答案:

他们为什么要使用它(!!err)来检验err的真实性?

没有理由
也许他们过谨慎,听过有关节制的一些错误信息?或者,他们要强调ToBoolean投发生在评价if条件?

那不一样if (err)吗?

是。

if (err)
if (Boolean(err))
if (!! err)

都是完全一样的东西。后两个只是在达到相同结果之前,在它们之间做不必要的步骤。



 类似资料:
  • 问题内容: 有时我需要在代码中使用它,有时它会引发“已消化的摘要”错误。但是,您可以在评论中(以及在Angular Wiki上)阅读: 如果(!$ scope。$$ phase)$ scope。$ apply()不要这样做,这意味着您的$ scope。$ apply()在调用堆栈中不够高。 所以现在我有两个问题: 为什么这是反模式? 我如何安全地使用$ scope。$ apply? 另一个防止“已

  • C++1z将引入“constexpr if”-一个将根据条件删除其中一个分支的if。似乎合理有用。 但是,没有constexpr关键字就不行吗?我认为在编译过程中,编译器应该知道编译时是否知道条件。如果是的话,即使是最基本的优化级别也应该移除不必要的分支。 例如(参见godbolt:https://godbolt.org/g/ipy5y5): Godbolt explorer显示,即使带有-o0的

  • 本文向大家介绍为什么要使用 kafka,为什么要使用消息队列?相关面试题,主要包含被问及为什么要使用 kafka,为什么要使用消息队列?时的应答技巧和注意事项,需要的朋友参考一下 缓冲和削峰:上游数据时有突发流量,下游可能扛不住,或者下游没有足够多的机器来保证冗余,kafka在中间可以起到一个缓冲的作用,把消息暂存在kafka中,下游服务就可以按照自己的节奏进行慢慢处理。 解耦和扩展性:项目开始的

  • 问题内容: 我注意到,Oracle JDK中使用了许多Java 8方法,如果给定的对象(参数)为,则会在内部抛出该方法。 但是,如果取消引用对象,则将被抛出。那么,为什么要做这个额外的null检查并抛出 ? 一个明显的答案(或好处)是它使代码更具可读性,我同意。我很想知道在方法开始时使用的其他原因 。 问题答案: 因为您可以这样做使事情变得 明确 。喜欢: 或更短: 现在您 知道了 : 当 成功使

  • 问题内容: 我是Mockito的新手,我已经开始学习它。但是我有一些疑问。为什么我们需要使用Mockito?据我所知,它用于模拟(创建虚拟对象)并在具有实际运行代码之前编写测试用例。但是,如果我想测试已经实施的代码以检查它们是否正常运行,该怎么办。我如何使用Mockito进行测试? 例如,我有CRUD方法,我想通过使用我的Create方法在数据库中实际插入数据来测试Create是否正常运行,这与其

  • 本文向大家介绍为什么要使用RabbitMQ?相关面试题,主要包含被问及为什么要使用RabbitMQ?时的应答技巧和注意事项,需要的朋友参考一下 可靠性(Reliability) RabbitMQ 使用一些机制来保证可靠性,如持久化、传输确认、发布确认。 灵活的路由(Flexible Routing) 在消息进入队列之前,通过 Exchange 来路由消息的。对于典型的路由功能,RabbitMQ 已