我知道我可以测试 JavaScript 变量,如果它是 undefined
,那么定义它,但是是否有一种方法可以这样说:
var setVariable = localStorage.getItem('value') || 0;
看起来这是一种更清晰的方式,我相信我在其他语言中也见过类似的写法。
我知道我可以测试 JavaScript 变量,如果它是 undefined
,那么定义它,但是是否有一种方法可以这样说:
var setVariable = localStorage.getItem('value') || 0;
看起来这是一种更清晰的方式,我相信我在其他语言中也见过类似的写法。
var setVariable = (typeof localStorage.getItem('value') !== 'undefined' && localStorage.getItem('value')) || 0;
localStorage.getItem('value')
返回false
,则不会将其分配为0。 - Karl Adler即使默认值是布尔值,也可以正常工作:
var setVariable = ( (b = 0) => b )( localStorage.getItem('value') );
在当前的JavaScript实现中,我觉得
var [result='default']=[possiblyUndefinedValue]
使用对象解构是一种很好的方式来实现这个功能。
localStorage.getItem()
将抛出异常,因此你可能需要将其包装在一个try...catch
语句中。 - urish