Javascript 为什么Array.prototype.fill()的示例会抛出一个TypeError?

Javascript 为什么Array.prototype.fill()的示例会抛出一个TypeError?,javascript,arrays,ecmascript-6,Javascript,Arrays,Ecmascript 6,当我看到以下内容时,我正在通读并熟悉一些ES-6功能: 如果查看示例,第一个示例显示: [1, 2, 3].fill(4); // [4, 4, 4] semicolon expected or 'TypeError: [4, 4, 4].fill(...)[3] is undefined' prompt 从参数的语法和描述来看,[1,2,3].fill(4)看起来像是一个完全有效的调用,将参数start默认为0,end默认为3。在我看来,该语句应该像其他示例一样完美地执行,没有错误。我在控制

当我看到以下内容时,我正在通读并熟悉一些ES-6功能:

如果查看示例,第一个示例显示:

[1, 2, 3].fill(4); // [4, 4, 4] semicolon expected or 'TypeError: [4, 4, 4].fill(...)[3] is undefined' prompt
从参数的语法和描述来看,
[1,2,3].fill(4)
看起来像是一个完全有效的调用,将参数
start
默认为0,
end
默认为3。在我看来,该语句应该像其他示例一样完美地执行,没有错误。我在控制台上试过,Firefox没有抱怨

有人能解释为什么这个例子(可能)会引起类型错误,或者甚至抱怨分号吗?为什么这个错误不会发生在一个简单的控制台测试中


起初我认为这一定是印刷错误,但现在我开始不这么认为了。这是唯一一个可能引发错误的示例,并且错误消息非常特定于这一行。

每个人都可以在MDN上编辑页面:



前面的示例末尾没有分号:

[1, 2, 3].fill(4)               // [4, 4, 4]
[1, 2, 3].fill(4, 1)            // [1, 4, 4]
如果只是复制和粘贴它们,则会导致错误


但是,我认为该注释与其说是有用的,不如说是令人困惑的。

我猜这是生成的文档,只是其中有一个bug。我删除了该注释。我认为这比帮助更令人困惑。有人添加了注释,因为示例之前没有分号:在Firefox中运行时,此处似乎可以正常工作。更清楚的是:有人修复了示例并添加了此附加注释。不过,没有必要发表评论。这应该是编辑原因的一部分,而不是文档的一部分