javascript - 在 for 循环中运行类中的方法

标签 javascript class for-loop typescript methods

我是新人,所以对于 TypeScript 和 JavaScript 之间的混淆感到抱歉。我现在应该是用 TypeScript 写的。我试图通过代码末尾的 for 循环运行我的类中的方法。我的基本结构来自 Mozilla 开发者网络,所以我不确定这是否正确,但据我所知是正确的。不管怎样,就像我说的,我想通过下面的循环运行我的方法。我相信我需要使用点表示法,但我找不到错误。任何帮助将不胜感激。谢谢。

TypeScript/JavaScript

class Employee {
    name:string;
    age:number;
    timeInJob:number;
    stillEmployed:boolean;
  constructor(name:string, age:number, timeInJob:number, stillEmployed:boolean){
    this.name = name;
    this.age = age;
    this.timeInJob = timeInJob;
    this.stillEmployed = stillEmployed;
  }
  get extraVacay(){
    return this.vacay();
  }
  vacay(){
    return this.age + this.timeInJob;
  }
};

let myEmployees = [];

let justin = new Employee('Justin', 25, 3, true);
myEmployees.push(justin);
let derek = new Employee('Derek', 22, 8, true);
myEmployees.push(derek);
let taylor = new Employee('Taylor', 24, 9, true);
myEmployees.push(taylor);
let eli = new Employee('Eli', 29, 10, false);
myEmployees.push(eli);
let tyler = new Employee('Tyler', 25, 7, false);
myEmployees.push(tyler);

console.log(myEmployees);
console.log(justin.extraVacay);

for (i = 0; i < myEmployees.length; i++){
  let magicNumber = Employee.extraVacay();
  console.log(magicNumber);
}

最佳答案

您有两个问题:

  1. 您无法正确访问阵列中的员工。
  2. 您没有正确调用属性 getter:

试试这个:

for (i = 0; i < myEmployees.length; i++){
  const employee = myEmployees[i];
  let magicNumber = employee.extraVacay;
  console.log(magicNumber);
}

关于javascript - 在 for 循环中运行类中的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43082604/

相关文章:

javascript - 当用户滚动到左端时将数据添加到 highcharts(Highstock)

c++ - 指向 C++ 类元素的指针

Java for 循环传递变量

javascript - 无法重置日期选择器

javascript - 天气 api key 不起作用

javascript - 无法在React中访问窗口变量

python - Python 3 类中的复数除法

c++ - 类对象成员的顺序对性能有影响吗?

for-loop - Smalltalk 斐波那契

windows - 在FOR循环中通过复杂的调用检索%ERRORLEVEL%