Новый синтаксис классов позволяет объявлять методы через 'new'?
Например вместо
function Foo(param) {
return function () {
...
};
}
class Bar {
...
}
Bar.prototype.baz = new Foo;
что-нибудь вроде
class Bar {
baz = new Foo;
}
Согласно спецификации ES6, тело класса может содержать только набор методов.
Иными словами, спецификация не позволяет вам определять свойства экземпляров, через конструкцию class
.
Я вижу два выхода из ситуации:
Использовать прототип в явном виде
class Bar {
// ...
}
Bar.prototype.baz = Foo('baz');
Привязывать метод baz
к каждому экземпляру Bar
через конструктор:
function Foo(param) {
return function () {
// ...
};
}
// Будем использовать один экземпляр функции для всех Bar,
// чтобы сэкономить немного памяти.
var fooInstance = Foo('baz');
class Bar {
constructor() {
this.baz = fooInstance;
}
}
Ответ на твой вопрос ДА! Сущности классов можно объявлять через new
Судя по твоему коду ты используешь прототипное наследование, в es6 это можно сделать через наследование
class Foo {}
class Bar extends Foo {}
и ты сможешь использовать все методы класса Foo.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Тут есть решённая задача - http://plnkrco/edit/FaKoF0M4QQB1OSdtpClb?p=preview
Для application/x-www-form-urlencoded пробелы должны быть заменены на "+", поэтому вам может понадобиться encodeURIComponent с дополнительной заменой "%20" на "+"
Столкнулся с непониманием того, какая высота у элементов с dislpay: none;