Декораторы — это невероятно круто. Они позволяют описывать мета информацию прямо в объявлении класса, группируя все в одном месте и избегая дублирования. Ужасно удобно. Однажды попробовав, вы уже никогда не согласитесь писать по-старому.
Однако, несмотря на всю полезность, декораторы в TypeScript ([заявлены][1] также на стандарт) не так просты, как хотелось бы. Работа с ними требует навыков джедая, так как необходимо разбираться в [объектной модели JavaScript][2] (ну, вы поняли, о чем я), API несколько запутанный и, к тому же, еще не стабильный. В этой статье я немного расскажу об устройстве декораторов и покажу несколько конкретных приемов, как поставить эту темную силу на благо front-end разработки.
Помимо TypeScript, декораторы [доступны в Babel][3]. В этой статье рассматривается только реализация в TypeScript.
![][4][Читать дальше →][5]
[1]:
https://github.com/tc39/proposal-decorators
[2]:
https://habrahabr.ru/company/enterra/blog/153365/
[3]:
https://habrahabr.ru/post/277021/
[4]:
https://habrastorage.org/files/e86/fb8/fbc/e86fb8fbcba9404c9262c30e6f96e5a6.jpg
[5]:
https://habrahabr.ru/post/310870/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut