JavaScript変数をテストして、それがそうであれば定義できることは知っていますundefined
が、
var setVariable = localStorage.getItem('value') || 0;
はるかに明確な方法のように思えますし、他の言語でもこれを見たことがあると思います。
ベストアンサー1
はい、それは可能ですが、厳密に言えば、取得された値が本当にundefinedではなくfalseyの場合にデフォルト値が割り当てられます。したがって、一致するだけでなく、、、、、にも一致します(ただし、は一致しません)。undefined
null
false
0
NaN
""
"0"
変数が厳密に指定された場合にのみデフォルトに設定したい場合undefined
、最も安全な方法は次のように記述することです。
var x = (typeof x === 'undefined') ? your_default_value : x;
新しいブラウザでは、次のように書いても実際には安全です。
var x = (x === undefined) ? your_default_value : x;
ただし、定義された値を持つ名前付き変数を宣言することが許可されている古いブラウザでは、これを覆すことができundefined
、テストが失敗する可能性があることに注意してください。