正在查看 Vue.js 源代码并面临有争议的if
声明。它是定义属性的反应式资源库的部分。
if (newVal === value || (newVal !== newVal && value !== value)) {
return
}
检查了这个严格的相等描述,仍然无法理解这样的比较何时有用。
(newVal !== newVal && value !== value)
如果newVal
和value
都NaN
,(newVal !== newVal && value !== value)
为真。
另一方面,(newVal === value)
将是错误的,即使它们都是NaN
.