JavaScript有异国情调的对象吗?

Tim*_*ton 14 javascript ecmascript-6

我想写一系列与JavaScript相关的文章/教程.当我发现这个有趣的段落时,我正在查看ECMA规范.

正如ECMA-262(第6版)所述:

4.3.7异国情调的对象

对象不具有所有对象必须支持的一个或多个基本内部方法的默认行为

注意任何不是普通对象的对象都是异域对象.

现在我很好奇.在现代浏览器的JavaScript中是否可以找到这些奇特的物体?

如果是这样的话:能不能给我一个例子并说明它的行为与"普通物体"有多远?

Dav*_*ton 13

一个可能的例子:

由Array创建的实例对象是异国情调的(ECMAScript规范用于具有普通对象不具有的特征的对象的术语):它们的属性长度跟踪并影响数组元素的管理.通常,可以从头开始创建奇异物体,但不能将现有的普通物体转换为异国物体.

摘自http://www.2ality.com/2015/02/es6-classes-final.html

规范中稍后还有一个列表,包括Array,String等.

在神秘和/或性感的意义上,它们不是"异国情调".


Ami*_*mit 6

同一文件的第9.4节列出了外来物品.例如,数组就是这样一个对象.除此之外,它的[[DefineOwnProperty]]内部方法不同于为对象定义的标准方法,因为它以不同的方式处理数字"键".

  • 没有评论解释它的-1有什么意义? (3认同)