首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Array.prototype.fill()的这个示例会抛出一个TypeError?

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

Stack Overflow用户
提问于 2015-06-21 04:00:56
回答 1查看 62关注 0票数 2

当我看到以下内容时,我正在阅读并熟悉一些ES-6特性:对象/数组/填充

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

代码语言:javascript
复制
[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,甚至抱怨分号吗?为什么这个错误不会发生在一个简单的控制台测试中?

起初,我认为这一定是一个排版错误,但我开始不这么认为了。这是唯一被认为会引发错误的例子,并且错误消息非常特定于这一行。

EN

回答 1

Stack Overflow用户

发布于 2015-06-21 04:13:46

每个人都可以在MDN上编辑页面。有人修正了示例中的一个问题,并添加了这个注释。

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

代码语言:javascript
复制
[1, 2, 3].fill(4)               // [4, 4, 4]
[1, 2, 3].fill(4, 1)            // [1, 4, 4]

这会导致一个错误,如果你只是复制和粘贴它们。

然而,我认为这个评论比有用的所以我把它拿掉了更让人困惑。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30961139

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档