TypeScript(和JavaScript)沒有隱含的this。 對于只讀取(而不是寫入)的值,可以將其分解為局部變量或常量: get ab(){ const {a, b, d, aIdx, bIdx, _ab} = this; if(a == b) this.c = a.add(b); if(d == b) this.d = a.add(b, bIdx).normalize(); return _ab || (_ab = new Edge(allPoints, aIdx, bIdx)); } 但是您可能更喜歡Crockford-style閉包編程。在返回包含方法的對象的函數中有局部變量,而不是包含a、b等的對象: function createExample() { let a, b, c, d, aIdx, bIdx, _ab; // ... return { ab() { if(a == b) c = a.add(b); if(d == b) d = a.add(b, bIdx).normalize(); return _ab || (_ab = new Edge(allPoints, aIdx, bIdx)); } };} 然后,由于返回函數的方法與創建它的調用中的局部變量接近,因此直接使用a、b等。 不過,最好盡量減少這兩種風格的混合。需要注意的是,這種風格目前在Jav