短絡評価について質問があります。コードは次のとおりです。
function updateRecords(records, id, prop, value) { if (value === '')
{
delete records[id][prop]; } else if (prop === 'tracks') {
records[id][prop] = records[id][prop] || [ ]; // <--- evaluation, see below for explanation
records[id][prop].push(value); } else {
records[id][prop] = value; }
return records;
}
この関数で短絡評価は正確に何をしますか?
このようにその行を書くこともできるからです。
records[id][prop] = [value] または records[id][prop] = records[id][prop] || [];
[ ] が [値] を置き換えるのはなぜですか? 論理 or 演算子が元のスクリプトの最初の値を無視することはわかっていますが、空の [ ] に値を自動的に挿入するにはどうすればよいでしょうか?
ありがとうございました。:)