ค้นหาเว็บไซต์

javascript - ทำไมภายในลูป foreach คุณไม่สามารถใช้ตัวแปรระดับโลกใน Typescript ได้?


ฉันมีสมบัติที่มีลูป foreach อย่างง่าย ภายในลูปนี้ฉันต้องการใช้ตัวแปรทั่วโลก แต่ฉันได้รับข้อผิดพลาด

เมื่อฉัน

สร้างตัวแปรภายในของคุณสมบัติที่รับค่าระดับโลกเพื่อให้สามารถใช้งานได้ภายในลูป

simpleArray = [0,1,2];
simpleArray2 = [0,1,2];

get resume() {
    let localArray = this.simpleArray;
    this.simpleArray2.forEach(function (element, index) {
        console.log(localArray);         // [0,1,2]
        console.log(this.simpleArray);   // return error undefined
    });
    return 'something';
}

คำตอบ #1

ใช้ฟังก์ชันลูกศรแทน :

this.simpleArray2.forEach((element, index) => {
  console.log(localArray); 
  console.log(this.simpleArray); 
});