Абстрактные методы

Часть 6

Наверное, самое элегантное и простое решение:

class Some
  abstractMethod: abstract

class Any extends Some

(new Any).abstractMethod() # Error 'Can not call abstract method'

# Но зато
class Any2 extends Some
  abstractMethod: -> console.log 42

(new Any).abstractMethod() # 42

Реализация элементарнейшая и очевиднейшая:

window.abstract = -> throw new Error 'Can not call abstract method'

Эпилог

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