在JavaScript中能否不在构造函数外声明就定义数据成员/数据结构?
在JavaScript构造函数内部直接定义数据成员是否可行?
当然可以,你给出的示例是完全合法且在实际开发中常用的写法。
在JavaScript的类语法里,通过在constructor方法中给this绑定属性(比如示例里的this.items = []),就是直接在构造函数内部定义实例的数据成员。这种方式是定义实例专属数据的标准方式之一:每一个通过new Queue()创建的实例,都会拥有独立的items数组,不会和其他实例共享这个数据结构。
除了数组,你也可以在构造函数内部直接定义对象、基本类型值等任意数据结构,比如:
class User { constructor(name) { this.profile = { name: name, createdAt: new Date(), preferences: { theme: 'light', notifications: true } }; this.age = 18; } }
内容的提问来源于stack exchange,提问作者krish
相关产品推荐
相关产品推荐

