比如这样
!!AppStorage.get('isLogin')
!! 代表两次取反。比如!!false 就是false -> true -> false 就还是原来的值。之所以出现这个写法 是因为在弱类型语言里面,有一些特殊的类型。比如 (0, "", null, undefined, NaN)。这些类型前面加!会被转为false,例如 !0 = false,!null = false.
因为在Harmony中 AppStorage.get('isLogin') 返回的类型是 undefiend | T 。T 就是我们自己手动存储的类型。这里使用!!是为了处理undefined。
在强类型语言中只有true 跟 false。所以一般不会出现这种写法。