直接抛出 !! 这个方法可能不怎么好理解,首先我们先来看!
关于!:
js中,false、null、''、undefined、0、NaN取反会得到什么呢?
因为js中,false、null、''、undefined、0、NaN都会 被判 为false,所以取反之后,全部都会得到true
而基础的数据类型,取反后都会得到false
关于 !!:
那么给刚才取反的false、null、''、undefined、0、NaN再次取反会发生什么呢?
它们都输出了 被判 的false
而基础的数据类型(包括es6新增的数据类型),再次取反后都会得到 被判 true
!!的用法:
我们一般判断这些异常数据要这样写:
因为 !! 会得到数据 被判 的值,那我们判断这些异常数据就可以这么写了: