我必须有两个论证,名称和部门,并创建了一个默认名称未知和部门未知的name和dept实例变量,然后为它们创建get和set方法,但是每次运行这个方法时,它都会给出类名和set是未定义的。
最初,我没有把它放在一个类中,把它作为一个直接的const函数,它正在工作,但是当我不能在另一个文件中正确地引用它时,我被告知他们需要放在我尝试过的类中,而现在它没有给出我所需要的输出。
class Faculty {
constructor(name, dept) {
this.name = "name unknown";
this.dept = "department unknown";
}
getName() {
return this.name;
}
getDept() {
return this.dept;
}
setName(name) {
this.name = name;
}
setDept(dept) {
this.dept = dept;
}
}
Faculty.toString = function () {
return this.name.concat(" of ").concat(this.dept);
}
//Faculty.name = "Testname";
//Faculty.dept = "Electronic Technology";
console.log(Faculty.toString());当运行时,它给了学院的未定义,即使当我试图定义名称,它仍然只是说学院,虽然我需要它的默认名称未知的部门名称未知,除非另有规定。
发布于 2019-10-07 15:29:16
下面是我要说的话(而且起作用了)
编辑:由于选择了这个答案,我将在这里添加其他答案所指出的好元素。
const DEFAULT_NAME = "name unknown";
const DEFAULT_DEPT = "department unknown";
class Faculty {
constructor(name = DEFAULT_NAME, dept DEFAULT_DEPT) {
this.name = name;
this.dept = dept;
}
getName() {
return this.name;
}
getDept() {
return this.dept;
}
setName(name) {
this.name = name;
}
setDept(dept) {
this.dept = dept;
}
toString() {
return `${this.name} of ${this.dept}`;
}
}
const f = new Faculty("Faculty", "Department");
console.log(f.toString());https://stackoverflow.com/questions/58272621
复制相似问题