Страницы

Поиск по вопросам

понедельник, 8 июля 2019 г.

Проблема с extends Array и splice

Столкнулся с такой проблемой. Есть класс extends Array, который надо очистить.
class Grid extends Array { constructor(board){ super(); // условное содержимое - this.push([{x:0,y:0}][{x:0,y:1}],[{x:1,y:0}][{x:1,y:1}]); console.log('grid constructed'); this.ctx = board.layers.grid; //очень нужная вещь без которой ничего не работает } clear(){ this.splice(0, this.length); } } const grid = new Grid({layers:{grid:'2d)'}}); grid.clear();// oops..
Что можно предпринять?


Ответ

Кажется, что метод .splice всегда вызывает конструктор "под капотом".
Можно очистить grid другим образом:
clear(){ this.length = 0; }

Комментариев нет:

Отправить комментарий