#javascript #class #unnamed-class
#javascript #класс #неназванный класс
Вопрос:
Operation
класс создает массив, подобный этому, у которого нет имени класса перед массивом.
[operInputQuery[0].value, operInputQuery[1].value, operInputQuery[2].value]
Класс ‘Table’ предназначен для того, чтобы быть неназванным классом, наследующим конструкторы Operation
.
Он наследуется должным образом, однако создает массив с ненужным тегом extends
вот так.
extends[operInputQuery[0].value, operInputQuery[1].value, operInputQuery[2].value, operInputQuery[3].value]
Да, я не хочу создавать массив с помощью ‘extends’.
Как я могу создать неназванный расширенный класс?
let Operation = class { //unamed class
constructor(a, b, c) {
this.a = operInputQuery[0].value;
this.b = operInputQuery[1].value;
this.c = operInputQuery[2].value;
}
}
let Table = class extends Operation { //purposed to write an unnmaed extended class
constructor(a, b, c, d){
super(a, b, c);
this.a;
this.b;
this.c;
this.d = operInputQuery[3].value;
}
};
Комментарии:
1. Почему вы передаете a, b, c внутри конструктора и присваиваете им значения? Кажется, здесь что-то не так. Кроме того, что такое operInputQuery?
2. Вопрос в том, как создать неназванный расширенный класс.
3. Классы могут быть анонимными, точно так же, как функции. Как создается массив? Не имеет смысла, что к нему каким-то образом добавлялось бы имя класса, даже если бы у класса было имя
Ответ №1:
operInputQuery отсутствует, но я предполагаю, что это массив объектов со свойством value, попробуйте это:
let operInputQuery = [{value: 1}, {value: 2}, {value: 3}, {value: 4}];
let Table = class {
constructor(a, b, c, d){
this.a = a;
this.b = b;
this.c = c;
this.d = d;
}
};
let table = new Table(operInputQuery[0].value, operInputQuery[1].value, operInputQuery[2].value, operInputQuery[3].value);
console.log(table);
Комментарии:
1. operInputQuery — это функция, которую я создаю, и я не переписываю код здесь, потому что для этого требуется html-часть. В любом случае, спасибо вам за ваши усилия, но вы предлагаете создать другой класс ‘Table’, который мне не нужен.