次の構文のif(variable)
句は、例外を回避するために、リスト/配列が null/未定義ではないかどうかをチェックします。
if (list)
for (var k in list) {
...
if (array)
for (var i = array.length; i >= 0; i--) {
...
しかし、JS 構文では次のような式を使用できます
null || []
undefined || {}
したがって、コードを 1 行短くしても、配列/オブジェクトをチェックできます。
for (var k in obj || {}) {
...
for (var i = (array || {}).length; i >= 0; i--) {
...
問題は基本的に次のとおりです。null/undefined || []/{}
式はすべてのブラウザーで後者を返しますか?
編集:for (var k in list || {})
配列(角括弧)が反復を引き起こし、例外がスローされるため、中括弧が反復に適していることがわかりました。