我正在使用 Google Closure 和 LOVE 条件分配。我经常使用
var stuff = (condition) ? opt0: opt1;
方法,最近被引入
var stuff = opt_param || defaultValue;
但我注意到一个奇怪的行为,因为它似乎
var stuff = opt_param | defaultValue;
也可以工作(即使用单个|),但这似乎将变量“类型转换”为数字。我无法找到任何有关此的文档,所以这是我的问题:
和单有什么区别| 和双|| 在逻辑和分配方面?我对数字类型转换的假设是正确的,还是只是我一直在摆弄的特殊情况的任意产品?