如何检查本地存储密钥是否不存在?

时间:2017-09-03 10:55:28

标签: angular typescript

我可以使用以下代码中的if条件找到本地存储密钥是否存在

    this.data = localStorage.getItem('education'); 
      if(this.data)//check if it exists or not empty
{
        console.log("Exists");
      }

如果想使用if条件来查找它是否不存在,我该如何在代码中编写?我不想用别的。请指导

1 个答案:

答案 0 :(得分:2)

如果this.dataundefined,则!(this.data)应该有效:

if (!(this.data)) { console.log("DOH!"); }

编辑:我刚收到一条提出意见的评论。如果密钥是false怎么办?那还不够。如果密钥实际存在且设置为undefined怎么办?那么该方法将失败。因此,最好使用in关键字(如this answer

中所述
if (!("data" in this)) { console.log("DOH!"); }

例如:

obj = { a: false, b: undefined }
if (!("a" in obj)) { console.log("a does not exist"); }
if (!("b" in obj)) { console.log("b does not exist"); }
if (!("c" in obj)) { console.log("c does not exist"); }

输出

c does not exist