@Riim

Typescript, блочный каст типа на переменную, как?

Привет, ковыряю typescript и один вопрос чёт не гуглится: допустим такой код:
on(types: string|string[]|Object, fn: Function, context?: Object): Emitter {
        // types can be a view of types/handlers
        if (typeof types == 'object') {
            for (let type in <Object>types) {
                // we don't process space-separated events here for performance;
                // it's a hot path since Layer uses the on(obj) syntax
                this._on(type, types[type], fn);
            }

        }
        // ...
    }


здесь я кастанул `types`, иначе компилятор ругается. Если в этом блоке `types` придётся юзать несколько раз, то придётся каждый раз кастовать `Object`, что не удобно, либо можно написать как-то так:
let t = <Object>types;
и дальше юзать `t` вместо `types`. Так уже удобно, но на выходе генерится код с явно лишним присваиванием, как-то это не красиво, а хочется что-бы результирующий код оставался нормальным.
Реально ли как-то чтобы и удобно было и без говнокода на выходе?
  • Вопрос задан
  • 431 просмотр
Пригласить эксперта
Ответы на вопрос 1
Illorian
@Illorian
Front-end разработчик
Так тут ничего и не сделаешь, потому что types может быть 3-х типов и каждый раз придётся кастовать.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы