在不执行和结合绑定的情况下使用地图 - JavaScript

Using map without executing and combine bind - JavaScript

谁能告诉我为什么这个 const 是一个函数?以及这个函数是如何像地图一样使用的?我很难理解这段代码:

const something = ['a','b','c'].map.bind([1,2,3]);

谢谢 'Euan Smith' 解释有几种方法可以获取地图 - 我现在检查了一下:

map 是在其原型继承结构上分配的 Array.prototype 类型上的函数。

它只是一个普通的 JS 函数,没有分配给它任何对象。使用 bind 我们将 map 函数绑定到特定对象,此处 [1,2,3]

所以首先 ['a','b','c'] 是一种干扰。您将获得与 const something = [].map.bind([1,2,3]); 相同的总体结果。代码的第一部分只是为了获取对数组的 map 方法的引用。使用 Array.prototype.map 可以获得相同的效果,但是 [].map 需要更少的输入。

绑定将此映射函数绑定到数组 [1,2,3],这就是 something 指向的映射函数绑定到 [1,2,3] 的版本。例如,如果您调用 something(v=>v*2),您将返回 [2,4,6]

查看 Array, Array~map, Function and Function~bind 的 MDN 页面了解更多信息。