我看到一些代码似乎使用了一个我无法识别的运算符,以两个感叹号的形式出现,如下所示:!!.有人可以告诉我这个运营商的作用吗?
我看到这个的背景是,
this.vertical = vertical !== undefined ? !!vertical : this.vertical;
Run Code Online (Sandbox Code Playgroud) 在TypeScript 2.0中启用了StrictNullChecks,代码
var el: HTMLElement = document.getElementById('element_id');
Run Code Online (Sandbox Code Playgroud)
产生错误
Type 'HTMLElement | null' is not assignable to type 'HTMLElement'.
Type 'null' is not assignable to type 'HTMLElement'.
Run Code Online (Sandbox Code Playgroud)
为什么这样,如何在不设置el可空的情况下编译代码?