当一个愚蠢的问题出现时,我正在阅读 Three.js 代码:下面的代码之间有什么区别吗?

frameHeight = frameHeight !== undefined ? frameHeight : 24;


frameHeight = frameHeight || 24;

(frameHeight是函数的一个参数)

谢谢

最佳答案

是的,它们是不同的。

frameHeight = frameHeight || 24;

这将强制 frameHeight 为 bool 值。如果是 0''falsenullundefinedNaN 则为假,frameHeight 将默认为 24​​。
frameHeight = frameHeight !== undefined ? frameHeight : 24;

这将明确检查 frameHeight 是否不是 undefined 并且仅对于 undefined 它将默认为 24

10-07 14:06