“bang” in JavaScript
!这个是一个逻辑运算符,用于将值转换为其相反的布尔值。因为JavaScript会强制值,所以它会将值“转换”为true/false形式,并返回相反的布尔值。
当我们使用的时候!对0以外的数字进行运算,返回false。这是因为除0以外的所有数字都是真实的。
JavaScript Logical Operators
Operator Description && logical and || logical or ! logical not
Root是一个变量。叹号root是对这个变量进行,取反。例如,如果root等于true, 那么叹号,root就是false。另外在js语言当中,false null undefined这些表示为否或者空的变量,加上叹号都会变成true。所以很多时候大伙就喜欢不写条件判断,而是通过一个叹号加变量的形式来表示该变量的一些条件。
例如。
if(!root)的完整写法是
if(root!=undefined&&root!=null)但是这种语法仅仅在js语言里面有,其他语言里面很少见
所以在其他语言里面判断一个变量非空,就得用比较长的语句,上边的那个条件判断语句

