OR 运算符,用于转义 JavaScript 中的未定义

OR operator to escape undefined in javascript

本文关键字:未定义 JavaScript 转义 运算符 用于 OR      更新时间:2024-04-30
var x = JSON.parse(localStorage.getItem('x')).length || 0;

上面的代码有一个错误。 || 在这种情况下不起作用,我想知道为什么。其实我可以这样做

var x = JSON.parse(localStorage.getItem('x');
if(x.length){
    x = JSON.parse(localStorage.getItem('x').lengt6h
}

但这是 4 行代码。有没有办法在一行中做到这一点?

如果没有找到键,localStorage.getItem()将返回null,解析可能不喜欢这样。但是空数组应该没问题。

var x = JSON.parse(localStorage.getItem('x') || '[]').length;

null值使用 JSON.parse 返回null 。在null上调用length会引发错误。

使用三元运算符 如何在 JavaScript 中使用 ? : (条件(运算符?

 x=JSON.parse(localStorage.getItem('x')).length?JSON.parse(localStorage.getItem('x')).length:0;

如果出现以下情况,请尝试速记:

var x = JSON.parse(localStorage.getItem('x')).length != 0 ? JSON.parse(localStorage.getItem('x')).length : 0

这应该有效。在询问 localStorage 的项目x是否未null之前,您需要询问它的长度。

var array = [{ 'one': 1, 'two': 2, 'three': 3 }, { 'four': 4, 'five': 5, 'six': 6 }];
localStorage.setItem('x', JSON.stringify(array));
if(localStorage.getItem('x') != null) var x = (JSON.parse(localStorage.getItem('x'))).length;