Задать вопрос
nobr
@nobr
Front-end / Shadow DOM / Canvas

Как создать перегруженный конструктор класса в JS?

Вполне вероятно, что я пытаюсь сделать что-то, что противоречит концепции JS. Поэтому если пользоваться перегрузками неправильно, посоветуйте, пожалуйста, что нужно сделать в этом случае.


Сейчас я пишу простые классы-обёртки над функциями рисования фигур на canvas. Например, я хочу сделать удобнее рисование окружности, для этого можно пропустить несколько параметров (или добавить, в случае с другими классами).


В оригинале рисование цветного круга выглядит так:
context.arc(x, y, radius, startDegrees, endDegrees, counterClockwise);
context.fillStyle = '#FF0';
context.fill();



Я хочу сократить до:
var circle = new Circle(x, y, radius, '#FF0');


Но поскольку иногда нужно нарисовать дугу или сектор, то необходимо оставить весь функционал, для этого сделать перегрузку:
var circle = new Circle(x, y, radius, '#FF0', startDegrees, endDegrees, counterClockwise);



Вообщем, вопрос в том, как правильно создавать (или рекомендуется создавать) перегруженные интерфейсы, которые могут отличаться не только количеством параметров, но и типом данных.
  • Вопрос задан
  • 7489 просмотров
Подписаться 4 Оценить Комментировать
Ответ пользователя Stdit К ответам на вопрос (5)
Stdit
@Stdit
[мимо]
Ответ написан
Комментировать