Я выполняю упражнение из JavaScript Eloquent: Раздел упражнения -> Группы .Мне удалось хорошо написать код, но я не понимаю, почему мой код не работает, когда я использую this
.
Мой текущий код:
class Group {
constructor() {
this.members = [];
}
has(value) {
return this.members.includes(value);
}
add(value) {
if (!this.has(value)) this.members.push(value);
}
delete(value) {
if (this.has(value)) return this.members =
this.members.filter(element => element != value);
}
static from(array) {
let newGroup = new Group();
for (let element of array) {
newGroup.add(element);
}
return newGroup;
}
}
Я пытался изменить static from(array) {...}
to:
static from(array) {
let newGroup = new Group();
for (let element of array) {
this.members.push(element);
}
return newGroup;
}
Учитывая, что newGroup.add(element)
и this.members.push(element)
относительно одинаковы, почему последний не работает во втором статическом методе?