我第一次遇到这种语法而且不确定它在做什么:
self.name = _searchString(settings.dataBrowser) || "An unknown browser";
或(双管)条件有什么作用?何时将self.name设置为第二个值?
答案 0 :(得分:6)
这是逻辑or
运算符。
评估它的第一个“truthy”操作数。
特别是,如果第一个操作数为“falsy”,它将评估第二个操作数 - null
,false
,undefined
,0
,{{1} },或""
。
答案 1 :(得分:0)
Crockford打电话/称之为default operator
答案 2 :(得分:0)
这与我提出的问题直接相关,你可以在这里阅读 Short-circuit evaluation via the AND operator in PHP
基本上,它将self.name设置为函数返回的值,但如果函数返回false,则将其自身设置为“未知浏览器”;