这更像是一个“战壕中的经验”问题。
鉴于这段 javascript
/**
* @param [foo]
* {Object} an optional object (it can be null, undefined, empty, etc..)
* @param [foo.bars]
* {Array} an Array that *might* be in the object
*/
function (foo) {
// I want to get the array, or an empty array in any
// of the odd cases (foo is null, undefined, or foo.bars is not defined)
var bars = [];
if (foo && foo.bars) {
bars = foo.bars
}
// ....
}
我正在尝试缩短它;根据MDN应该可以写:
function (foo) {
var bars = (foo && foo.bars) || [];
// ...
}
我是否错过了一个不起作用的案例(一组值或其他浏览器)?有没有更短/更清洁的方法来做到这一点?
在更主观的节点上,您会认为不可读吗?
谢谢