ООП в JavaScriptКлассыmedium

Класс Tuple

Реализуйте класс Tuple, позволяющий хранить кортеж — упорядоченный набор данных фиксированной длины.

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

const colors1 = Tuple("red", "yellow", "green"); const colors2 = Tuple("red", "yellow", "green"); const colors3 = Tuple("red", "green", "blue"); console.log(colors1.equals(colors2)); // true console.log(colors1.equals(colors3)); // false console.log(colors1.equals("xxx")); // false console.log(colors1 instanceof Tuple); // true

Требования к классу

  1. Конструктор может вызываться без new.
  2. Метод equals принимает один аргумент и возвращает true, если аргумент является экземпляром класса Tuple такой же длины с равными значениями.
  3. Проверка через instanceof работает корректно.