阅读量:7
在JavaScript中,可以使用箭头函数来在map内部调用函数并使用this。箭头函数不会创建自己的this,而是继承最近的父级作用域中的this。
以下是一个示例:
const obj = { name: "John", getName() { return this.name; }, }; const names = ["Alice", "Bob", "Charlie"]; // 使用箭头函数在map内调用getName方法并使用obj作为this const result = names.map((name) => obj.getName.call(obj)); console.log(result); // ["John", "John", "John"]
在这个例子中,我们定义了一个obj对象,其中包含一个getName方法,返回该对象的name属性。然后,我们定义了一个names数组,包含一些名字。我们使用map方法遍历names数组,并在每个元素上调用obj.getName方法。由于我们在map内部使用了箭头函数,箭头函数继承了最近的父级作用域(即obj对象)中的this,所以我们可以在箭头函数内部使用this来引用obj对象。
在箭头函数内部,我们使用了call方法来设置getName方法中的this为obj对象。最后,我们将map返回的结果打印到控制台上,得到了[“John”, “John”, “John”]。这表明在map内部成功地使用this调用了getName方法,并获取了obj对象的name属性。