我看到了这一点,并且不知道这是否是一种将某些东西设置为真或某人试图想要的首选方式?使用localStorage.setItem时,要将值设置为true,正在使用!0:localStorage.setItem("proddtm", !0);
这比使用1还是true更好?如果是这样的话?
答案 0 :(得分:2)
!0
只是花哨。 强制为布尔类型,其值为true
,与常规true
布尔值的值相同。但是,1
是一个数字,但!!1
实际上是true
。
我必须查看实际使用情况,但!0
和true
是等效的。
有一些用例可以将值强制转换为布尔值(例如,在检查参数时,如!!someParameter
,如果不是null
,undefined
,{{ 1}},或其他虚假值,但它只是取决于。)
一个潜在的好处是0
不会进一步缩小,但是true
可以节省几个字节或其他什么,但这绝对是一些微优化,因为我没有看到使用!0
而不是true
会导致代码出现瓶颈。
答案 1 :(得分:0)
与使用真或假没有什么不同,除了有点混淆,因此不太理想。