当一个愚蠢的问题出现时,我正在阅读 Three.js 代码:下面的代码之间有什么区别吗?
frameHeight = frameHeight !== undefined ? frameHeight : 24;
和
frameHeight = frameHeight || 24;
(frameHeight是函数的一个参数)
谢谢
最佳答案
是的,它们是不同的。
frameHeight = frameHeight || 24;
这将强制
frameHeight
为 bool 值。如果是 0
、 ''
、 false
、 null
、 undefined
或 NaN
则为假,frameHeight
将默认为 24。frameHeight = frameHeight !== undefined ? frameHeight : 24;
这将明确检查
frameHeight
是否不是 undefined
并且仅对于 undefined
它将默认为 24
。