为什么用!0而不是1或true设置localStorage.setItem数据?

时间:2015-06-22 19:58:29

标签: javascript local-storage

我看到了这一点,并且不知道这是否是一种将某些东西设置为真或某人试图想要的首选方式?使用localStorage.setItem时,要将值设置为true,正在使用!0:localStorage.setItem("proddtm", !0);这比使用1还是true更好?如果是这样的话?

2 个答案:

答案 0 :(得分:2)

!0只是花哨。 强制为布尔类型,其值为true,与常规true布尔值的值相同。但是,1是一个数字,但!!1实际上是true

我必须查看实际使用情况,但!0true是等效的。

output

有一些用例可以将值强制转换为布尔值(例如,在检查参数时,如!!someParameter,如果不是nullundefined,{{ 1}},或其他虚假值,但它只是取决于。)

一个潜在的好处是0不会进一步缩小,但是true可以节省几个字节或其他什么,但这绝对是一些微优化,因为我没有看到使用!0而不是true会导致代码出现瓶颈。

答案 1 :(得分:0)

与使用真或假没有什么不同,除了有点混淆,因此不太理想。