在以下示例中,我并不清楚为什么this.add
未定义。我怀疑这是因为箭头功能立即执行并且在编译时并且add
功能尚不存在。这个假设是否正确?或者我错过了什么。
const arr= [1, 2, 3]
const squares = {
num: (arr) => {
return arr.map((x) => {
return (x * x) + this.add()
})
},
add: () => {
return 1
}
}
//TypeError: this.add is not a function
console.log(squares.num(arr))
答案 0 :(得分:1)
您正在使用sudo apxs -i -a -c my_module.c && sudo service apache2 restart
一直离开对象。您需要避免使用lexical this
的箭头函数:
请参阅documentation for arrow functions:
“箭头函数表达式的语法比函数表达式短,并且不会绑定它自己的...”
num