JavaScript 中的默认 属性 设置(如 Lodash 源代码所示)

Default property setting in JavaScript (as seen in Lodash source)

在查看如何 lodash implements its extend method 时,我注意到他们为默认参数赋值选择了一种非典型语法。

我的习惯:

function doStuff(obj) {
    obj = obj || {};
}

lodash 是怎么做的:

function doStuff(obj) {
    obj || (obj = {});
}

这种风格有什么特别的优势吗?我知道第二种方法避免了不必要的赋值操作,但是还有其他原因可以使用 lodash 方法吗?或者这只是一个我不应该担心的微优化。

最终总结 - 似乎是个人喜好。