Additional Features for Web Browser

The [[IsHTMLDDA]] internal slot

一个[[IsHTMLDDA]] internal slot可能在宿主环境对象中存在。 具有这种属性的对象在isLooselyEqualToBoolean抽象操作上的表现为 undefined

除此之外,typeof运算符的表现也是一致。

Note

ECMAScript规范是不会创建这种具有[[IsHTMLDDA]] internal slot的对象的。 然而,web浏览器中的document.all对象是一个主机定义的特殊对象,带有这个插槽,它的存在是为了web兼容性。 这种类型的对象没有其他已知示例,除了document.all之外。

具有这种插槽的对象主要在三个方面的特性:

  1. 表现为ToBoolean的第三步,例如:
// hosts web browser
Boolean(document.all); // undefined
  1. 表现为宽松比较IsLooselyEqual的第四步,例如,
// hosts web browser
document.all == undefined; // true
document.all == null; // true
  1. 表现为typeof操作符