【发布时间】:2015-06-21 04:00:56
【问题描述】:
我在阅读并熟悉一些 ES-6 功能时遇到了这个问题:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/fill
如果您查看示例,第一个显示:
[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,甚至抱怨分号?为什么在简单的控制台测试中不会发生错误?
起初我认为这一定是印刷错误,但我开始不这么认为。这是唯一可能引发错误的示例,并且错误消息非常特定于这一行。
【问题讨论】:
-
我猜这是生成的文档,其中只是一个错误。
-
我删除了评论。我认为这比帮助更令人困惑。有人添加评论是因为该示例之前没有分号:developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
-
在 Firefox 中运行时似乎可以正常工作:jsfiddle.net/jfriend00/f62kaso2。
-
要明确:有人修复了示例并添加了此附加评论。虽然没有必要评论。这应该是编辑原因的一部分,而不是文档。
-
这个问题现在已经过时了:D
标签: javascript arrays ecmascript-6