如何在Javascript ES6中设置类的属性

时间:2018-12-24 16:22:56

标签: javascript ecmascript-6

我在ES6中有这样的课程:

class temp
{
    name = "";
    type = 0;
    required = true;
    range = false;
    default = "";
    ...
    ...
} 

临时类具有很多属性,我不能在构造函数中全部赋予它们。

如何创建临时类的列表,如:

let list = [
    new Input(name="test1", type=0, ...),
    new Input(required=true, default="d", ...),
    new Input(type=1, default="s", ...),
    new Input(name="test2", default="s", ...)
]

3 个答案:

答案 0 :(得分:2)

用这个替换您的班级:

class Input {
  construtor(name, type, required, range) {
    this.name = name;
    this.type = type;
    this.required = required;
    this.range = range;
  }
}

无论您想在类中初始化什么,请使用constructor。 如果将它们放在构造函数OR函数之外,则会引发错误。

请勿使用default作为变量,因为它是JavaScript中的保留键。

如果您看到自己的班级名称(temp),则它与列表中提到的名称(Input)也不同。更换它。

答案 1 :(得分:1)

要设置属性,请在类中添加一个将属性值作为参数的构造方法,然后在该构造方法中设置类属性

constructor(x, y) {
    this.x = x;
    this.y = y;
}

答案 2 :(得分:0)

首先,在类中,如果要能够使用某些属性实例化它,则需要一个构造函数

class temp{
    constructor(name = "", type, required = "true", range="false", tdefault = ""){
        this.name = name;
        this.type = type;
        this.required = required;
        this.range = range;
        this.tdefault = tdefault;
    }
}

然后您可以在数组中匿名构造它们

let list = [
     new temp("test1", 0, true, false, "d"),
     etc,
     etc
  ]

在构造函数中==“ true”和其他内容是ES6为事物提供默认值的方式。