构造函数中的JavaScript类属性



在构造函数外定义一个属性,如namethis.id,但是当我初始化时,我得到了属性,它在构造函数之外。

创建了一个类person并定义了一个属性name(不在构造函数中)像这样

class Person {
name;
}
let instance_ = new Person()
console.log(instance_)

我得到输出

Person {name: undefined}

然后,我定义了另一个类Employee并定义了属性id(在构造函数)
class Employee {
constructor() {
this.id
}
}
let instanceEmp_ = new Employee()
console.log(instanceEmp)

得到的输出

{}//员工没有得到id地产

我没有得到idEmployee中的属性。为什么?

你必须给这个属性赋值,否则js会认为它是getter

class Employee {
constructor() {
this.id = undefined
}
}
let instanceEmp = new Employee()
console.log(instanceEmp)

一种解决方案是将id变量传递给构造函数:

class Employee {
constructor(id) {
this.id = id;
}
}
let instanceEmp = new Employee()
console.log(instanceEmp) // Employee {id: undefined}

相关内容

  • 没有找到相关文章

最新更新