我看到一些代码似乎使用了一个我无法识别的运算符,以两个感叹号的形式出现,如下所示:!!.有人可以告诉我这个运营商的作用吗?
我看到这个的背景是,
this.vertical = vertical !== undefined ? !!vertical : this.vertical;
Run Code Online (Sandbox Code Playgroud) 我有一个变量.我们称之为toto.
这toto可以设置为undefined,, null字符串或对象.
我想要最简洁的方法来检查是否toto设置为数据,这意味着设置为字符串或对象,既不是undefined也不是null,并在另一个变量中设置相应的布尔值.
我想到了语法!!,看起来像这样:
var tata = !!toto; // tata would be set to true or false, whatever toto is.
Run Code Online (Sandbox Code Playgroud)
第一个!将被设置为false如TOTO的undefined还是null和true别人,和第二个会倒转.
但它看起来有点令人毛骨悚然......所以有更好/更清洁的方法吗?
我已经看过这个问题了,但我想在变量中设置一个值,而不只是在if语句中检查它.