Size: a a a

2018 June 15

George Сarpow in TypeScript
источник

George Сarpow in TypeScript
function init<T extends {new(...args:any[]):{}}>(target: T) {
 return class extends target {
   firstName = "Amitai";
   lastName = "Barnea";
   sayMyName() {
     return ${this.firstName} ${this.lastName}
   }
 }
}

@init
class P {
 name: string;
 constructor() {
 }
}
let p = new P();
console.log(p.sayMyName()); // Amitai Barnea
источник

AK

Aleh Kashnikau in TypeScript
George Сarpow
Как правильно добавлять новые методы в декораторе?
Если имеется ввиду декораторы из stage1/2 то лучше никак такого ими не делать
источник

George Сarpow in TypeScript
Зачем тогда они вообще есть в языке, если ими ничего нельзя сделать?
источник

с

сomorsiс in TypeScript
это миксины через декораторы?
источник

AK

Aleh Kashnikau in TypeScript
George Сarpow
Зачем тогда они вообще есть в языке, если ими ничего нельзя сделать?
Прошу обратить внимание на флаг experimental
источник

AK

Aleh Kashnikau in TypeScript
Который прям ну вот намекает
источник

J

JavaScript верстальщик in TypeScript
Например, во флоу доке есть типизация хоков.
https://flow.org/en/docs/react/hoc/
Если ли смысл в доке тайпскрипта делать подобные вещи про реакт? Может законтрибьютить стоит?
источник

George Сarpow in TypeScript
:| Ну ведь всем наверное хочется нормальных декораторов..
источник

AK

Aleh Kashnikau in TypeScript
George Сarpow
Зачем тогда они вообще есть в языке, если ими ничего нельзя сделать?
Сейчас они нужны для действий, который не меняют тип декорируемого объекта
источник

George Сarpow in TypeScript
Сколько уже можно делать их
источник

AK

Aleh Kashnikau in TypeScript
George Сarpow
:| Ну ведь всем наверное хочется нормальных декораторов..
Просто используй функции
источник

George Сarpow in TypeScript
громоздко как-то
источник

AK

Aleh Kashnikau in TypeScript
init(class {})
источник

AK

Aleh Kashnikau in TypeScript
Разница в один символ
источник

George Сarpow in TypeScript
только это надо новой переменной присвоить и... она уже не класс ведь?
источник

AK

Aleh Kashnikau in TypeScript
Что значит она уже не класс?
источник

George Сarpow in TypeScript
ну если я напишу const a = init(class {}), и потом сделаю консоль лог - он мне выведет что это Function а не class_1 {}?
источник

к

кана in TypeScript
const X = class {}

===
class X {}
источник

к

кана in TypeScript
разница только в хоистинге наверное, типа class X будет вести себя как var X  = class {}
источник