Как установить свойство класса в Javascript ES6 - PullRequest
0 голосов
/ 24 декабря 2018

У меня есть класс в ES6, подобный этому:

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

У класса temp много свойств, я не могу передать их все в конструкторе.

Как создать список темповкласс как:

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 голосов
/ 24 декабря 2018

Во-первых, в вашем классе вам нужен конструктор, если вы хотите иметь возможность создавать его с определенными свойствами

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 дать значениям по умолчанию.

0 голосов
/ 24 декабря 2018

Замените свой класс следующим:

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

Все, что вы хотите инициализировать в своем классе, используйте constructor.Если вы поместите их вне функции ИЛИ конструктора, это вызовет ошибку.

Не используйте default в качестве переменной, поскольку это зарезервированный ключ в JavaScript.

Также, если высм. имя вашего класса (temp), оно отличается от имени, указанного в списке (Input).Замени это.

0 голосов
/ 24 декабря 2018

Чтобы установить свойства, добавьте метод конструктора, который принимает значения свойства в качестве аргументов для вашего класса, а затем в этом методе конструктора вы можете установить свойства класса

constructor(x, y) {
    this.x = x;
    this.y = y;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...