gpt4 book ai didi

javascript - 无法在 JavaScript 类中设置属性

转载 作者:行者123 更新时间:2023-12-03 01:12:27 27 4
gpt4 key购买 nike

我只是在 JavaScript 中设置类的属性:

class BookingReports extends ReportsInterface{ 
var categoryID;
constructor() {
super();
}

init(CatID)
{
this.categoryID=CatID;
}
}

但是 JavaScript 根本不接受变量并给出错误“意外的标识符”。

enter image description here

我不知道什么是语法错误。是因为继承还是 super 关键字?我什至尝试对整个声明使用绑定(bind)。但它不起作用。

最佳答案

varcategoryID 在那里不合适。您不在class级别声明变量;您在构造函数或方法中声明变量。

就您而言,您可能根本不想声明变量;相反,在构造函数中创建属性:

class BookingReports extends ReportsInterface{ 
constructor() {
super();
this.categoryID = /*...some default value...*/;
}

init(CatID)
{
this.categoryID=CatID;
}
}
<小时/>

旁注:拥有 init 方法没有多大意义;这就是构造函数的用途。所以:

class BookingReports extends ReportsInterface { 
constructor(catID) {
super();
this.categoryID = catID;
}
}
<小时/>

在某个时候,class fields proposal将达到第 4 阶段,此时您将能够在级别“声明”属性(如果您愿意):

// Valid if/when the class fields proposal advances
class BookingReports extends ReportsInterface {
categoryID; // Declares the property
constructor(catID) {
super();
this.categoryID = catID;
}
}

如果您在构造函数中初始化该属性,则没有太多意义;但它可以用于预先告诉读者(和 JavaScript 引擎)对象的标准“形状”,而不是让他们(和它)分析构造函数的代码。

关于javascript - 无法在 JavaScript 类中设置属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52159765/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com