2015-06-21 59 views
2

我是通過閱讀和熟悉自己的一些ES-6的特性,當我遇到這個傳來:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/fill爲什麼Array.prototype.fill()的這個例子拋出一個TypeError?

如果你看看下例子,在最前面的一個顯示:

[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並沒有抱怨。

任何人都可以解釋爲什麼這個例子(可能)引發TypeError,或者甚至抱怨分號?爲什麼在簡單的控制檯測試中不會發生錯誤?

起初我以爲它一定是印刷錯誤,但我開始不這麼認爲。這是應該引發錯誤的唯一示例,並且錯誤消息對於此行非常具體。

+0

我猜這是生成的文檔,它只是一個錯誤。 –

+0

我刪除了評論。我認爲這比幫助更困惑。有人添加了評論,因爲該示例之前沒有分號:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/fill$compare?locale = en-US&to = 822265&from = 721433 –

+0

似乎在這裏工作得很好:http://jsfiddle.net/jfriend00/f62kaso2/在Firefox中運行時。 – jfriend00

回答

相關問題