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

JavaScript中的(不是)操作符?

夏意蕴
2023-03-14
问题内容

我看到了一些代码,它们似乎使用了我不认识的运算符,它们以两个感叹号的形式出现,如下所示:!!。有人可以告诉我这个操作员做什么吗?

我看到的背景是

this.vertical = vertical !== undefined ? !!vertical : this.vertical;

问题答案:

转换Objectboolean。如果是falsey(例如0nullundefined等),这将是false,否则,true

!oObject  // inverted boolean
!!oObject // non inverted boolean so true boolean representation

因此!!,不是运算符,只是!运算符的两倍。

实际示例“测试IE版本”:

const isIE8 = !! navigator.userAgent.match(/MSIE 8.0/);  
console.log(isIE8); // returns true or false

如果你⇒

console.log(navigator.userAgent.match(/MSIE 8.0/));  
// returns either an Array or null

但是如果你⇒

console.log(!!navigator.userAgent.match(/MSIE 8.0/));  
// returns either true or false


 类似资料:
  • 本文向大家介绍JavaScript中诡异的delete操作符,包括了JavaScript中诡异的delete操作符的使用技巧和注意事项,需要的朋友参考一下 delete这个操作符呢,在javascript中不是很常用,但是他的特性的确很诡异。 1,删除对象的属性,代码: 那么到底delete删除的是对象的属性还是对象的属性值呢,我开始觉得删除的应该是值,因为结果是undefined,而没有报错。但

  • 问题内容: 在对此问题的评论中,我看到了一条建议使用的声明 与 我想知道两者之间有什么区别,为什么可能要推荐一个而不是另一个? 问题答案: 是一项 平等测试 。它检查右手侧和左手侧是否相等的对象(根据它们或方法)。 是 身份测试 。它检查右侧和左侧是否是同一对象。没有方法调用完成,对象不能影响操作。 您可以将(和)用于单例,例如,您不关心可能假装为的对象,或者想要与之进行比较时要防止对象破裂的地方

  • 本文向大家介绍JavaScript中Cookie操作实例,包括了JavaScript中Cookie操作实例的使用技巧和注意事项,需要的朋友参考一下 JavaScript Cookie   Cookie对象:   Cookie是一种以文件的形式保存在客户端硬盘的Cookies文件夹中的用户数据信息(Cookie数据)。   Cookie文件由所访问的Web站点建立,以长久的保存客户端与Web站点间的

  • 本文向大家介绍javascript操作ul中li的方法,包括了javascript操作ul中li的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了javascript操作ul中li的方法。分享给大家供大家参考。具体如下: 希望本文所述对大家的javascript程序设计有所帮助。

  • 本文向大家介绍JavaScript中的数组操作介绍,包括了JavaScript中的数组操作介绍的使用技巧和注意事项,需要的朋友参考一下 JavaScript中的数组对象自带了一些方法,可以通过使用这些方法来对数组进行操作。   join()   可以使用join()方法将数组中的成员合并到一个字符串中: 从上面的例子中可以看到,如果join()方法不带参数,那么JavaScript会用逗号作为分隔

  • 本文向大家介绍判断JavaScript中的两个变量是否相等的操作符,包括了判断JavaScript中的两个变量是否相等的操作符的使用技巧和注意事项,需要的朋友参考一下 1、为什么要判断? 可能有些同学看到这个标题就会产生疑惑,为什么我们要判断JavaScript中的两个变量是否相等,JavaScript不是已经提供了双等号“==”以及三等号“===”给我们使用了吗? 其实,JavaScript虽然