js中为什么很多要用两个!!
比如 if(!!name)
这个就表示 if(name|| false)。将判断的类型,强转成boolean类型。如果name是null(或者undefine)的话,!name,返回的就是true 。
加了两个叹号后,明确的设置了变量的值,返回的boolean就是根据变量的实际值返回的。(如果是实际值 !!6,根据实际值6它是true,那么最后返回的是true)
所以两个叹号主要是处理null/undifined/0/""等值
比如 if(!!name)
这个就表示 if(name|| false)。将判断的类型,强转成boolean类型。如果name是null(或者undefine)的话,!name,返回的就是true 。
加了两个叹号后,明确的设置了变量的值,返回的boolean就是根据变量的实际值返回的。(如果是实际值 !!6,根据实际值6它是true,那么最后返回的是true)
所以两个叹号主要是处理null/undifined/0/""等值