当我看到以下内容时,我正在阅读并熟悉一些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。在我看来,该语句应该执行得非常完美,不会出现错误,就像其他示例一样。我在控制台上试了一下,火狐没有抱怨。
有人能解释为什么这个例子(可能)会引发TypeError,甚至抱怨分号吗?为什么这个错误不会发生在一个简单的控制台测试中?
起初,我认为这一定是一个排版错误,但我开始不这么认为了。这是唯一被认为会引发错误的例子,并且错误消息非常特定于这一行。
发布于 2015-06-21 04:13:46
每个人都可以在MDN上编辑页面。有人修正了示例中的一个问题,并添加了这个注释。

前面的例子末尾没有分号:
[1, 2, 3].fill(4) // [4, 4, 4]
[1, 2, 3].fill(4, 1) // [1, 4, 4]这会导致一个错误,如果你只是复制和粘贴它们。
然而,我认为这个评论比有用的所以我把它拿掉了更让人困惑。
https://stackoverflow.com/questions/30961139
复制相似问题