我从库中获得了一段代码,其中包含以下内容。 options = options || {}
的目的是什么?Javascript确保对象不是由空或者对象定义的对象
var x = function(options) {
options = options || {};
if ('select_message' in options)
options.selectMessage = options.select_message;
// something else
}
乍一看,由于使用布尔运算符,选项似乎变为真或假。但这并不合理。我的假设是它确保“选项”不会被定义,即类似于下面的内容。
if (typeof options != 'undefined')
options = {};
这应该有所帮助:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_Operators – Ian
你问“目的是什么......?”,但主题行你的问题已经回答了。如果它的操作数都不是“true”或“false”,'||'操作符不会返回true或false。 – nnnnnn
谢谢@Ian。我以前不知道,所以这只是我的假设。 –