Truthy
在 JavaScript 中,Truthy 是指在一个需要 Boolean 值的上下文中,会被认为是 true 的值,例如:
Document.all 是一个不建议再被使用的特性,但为了考虑旧代码的兼容性,目前依然被保留了下来。
在老 web 页面中,经常会使用 如下方式 检测脚本是否运行在古董浏览器中:
为了兼容这种写法,最简单的方式,就是将 document.all 设置为 falsy。
Internal slot
这里的比较指的是 x == y 的形式,非严格等于(===)。
Truthy 一般包含具体的数据值,如果类型相同,直接执行严格等于的比较;如果类型不同,一般会先进行类型转换。
x 或 y 中有任意一个值为 NaN,比较结果即为 false