我看到一些代码似乎使用了一个我无法识别的运算符,以两个感叹号的形式出现,如下所示:!!.有人可以告诉我这个运营商的作用吗?
我看到这个的背景是,
this.vertical = vertical !== undefined ? !!vertical : this.vertical;
Run Code Online (Sandbox Code Playgroud) 在下面的代码中,从Alias的博客文章中,我注意到使用双感叹号!!.我想知道这意味着什么以及我将来可以在哪里找到像这样的Perl语法的解释.(是的,我已经!!在perlsyn搜索了).
package Foo;
use vars qw{$DEBUG};
BEGIN {
$DEBUG = 0 unless defined $DEBUG;
}
use constant DEBUG => !! $DEBUG;
sub foo {
debug('In sub foo') if DEBUG;
...
}
Run Code Online (Sandbox Code Playgroud)
更新
感谢您的所有答案.
以下是我刚发现的与List Squash Operator相关的其他内容x!!