Javascript的Array Method valueOf的目的是什么?

时间:2017-12-07 02:15:14

标签: javascript arrays

我可能会因为过分模糊的问题而受到抨击,所以请将此解释为元编程问题,因为它应该是,而不是某种间接的火焰战争。

在尝试更深入地理解Javascript的数组时,我遇到了Array.valueOf的{​​{1}}。

它只是说:

  

valueOf()方法返回数组。

     

此方法是数组对象的默认方法。 Array.valueOf()将返回与Array

相同的内容      

注意:此方法不会更改原始数组。

所以,我问:重点是什么? 是否有理由使用Array.valueOf()方法?在一些更复杂的构造中是否有用,例如在使用callapply时?它是否有助于将功能组合在一起?这只是因为它创建了一个标准方法,与相关valueOf更有用的其他对象相比,因此有助于将Array推广到其他对象吗?

据我所知,它完全相同,所以我看不出它的价值。

1 个答案:

答案 0 :(得分:4)

此方法继承自Object.prototype;来自Object.prototype的每个对象都有它。原始包装器覆盖它以返回相应的原语,例如,将new Number(5)转换为5。默认实现返回对象不变。

  

JavaScript调用valueOf方法将对象转换为原始值。您很少需要自己调用valueOf方法;当遇到期望原始值的对象时,JavaScript会自动调用它。