Я использую библиотеку, которая имеет класс, определенный как это:Переопределение функции JavaScript с помощью CoffeeScript
RoundDown = function() {
this.prop = 5.5
this.do_something = function() {
return "base class: " + this.prop
};
};
Использование CoffeeScript, я хочу продлить do_something поэтому он будет работать свою первоначальную функцию плюс новый код. Подклассификация кажется чистым решением, но функция базового класса вызывается, а не переопределенная функция.
# Subclass overriding round function
class RoundUp extends RoundDown
do_something:() ->
return super() + " Subclass code"
Каков правильный способ? Благодаря!
Первый пример технически не является «классом», как понимает кофе. Вам нужно добавить методы на прототипе, об этом знает 'extends'. Теперь вы добавляете метод как собственное свойство. – elclanrs
@elclanrs Это тоже не «класс», как понимают многие разработчики JavaScript :) –
Спасибо за скрипку, это было очень полезно. –