由於某種原因,PollClass
中的方法getTwo()
將不返回2
,而是undefined
。如果我將return
語句放在.forEach()
循環之外,則會返回一個值。ES6類方法在forEach循環內不返回任何東西
class Poll {
constructor(name) {
this.name = name;
this.nums = [1, 2, 3];
}
getTwo() {
this.nums.forEach(num => {
if (num === 2) return num;
})
}
}
const newPoll = new Poll('random name');
console.log(newPoll.getTwo()); // returns undefined, not 2
這是關閉問題,ES 6還是其他問題?
目前尚不清楚,你想,如果回到什麼'this.nums'沒有2,或者它不止一個2.不管怎樣,你最好使用'.some'而不是'forEach'。 – raina77ow
'forEach'不會返回任何東西。這不是'for'循環 – Redu
*「這是關閉,ES 6還是其他問題?」*都不是。內部函數不能讓外部函數返回一些東西。 –