@typescript_ru

Страница 583 из 669
Andrew
20.04.2018
11:12:48
ну значит не судьба )

Евгений Vúffe
20.04.2018
11:13:35
почитай вот тут про функциональные типы, в частности про объявление

https://www.typescriptlang.org/docs/handbook/functions.html

поймешь )

Google
Евгений Vúffe
20.04.2018
11:14:16
func: (num: number) => string - это тип

Andrew
20.04.2018
11:14:33
Вот эквивалентный код: function func(num: number): string { return new String(num); }

Евгений Vúffe
20.04.2018
11:14:37
и он внутри const * = String;

Вот эквивалентный код: function func(num: number): string { return new String(num); }
ага, то же самое но без анонимного типа

Andrew
20.04.2018
11:15:26
Но та запись выше позволяет использовать new String напрямую, без обертки

Дмитрий
20.04.2018
11:44:49
Я представляю сколько времени вы потом это отлаживать будете

Когда после new String две одинаковые строки перестанут совпадать

Dimanius851
20.04.2018
12:01:54
Даже просто не очевидно

Andrew
20.04.2018
12:07:55
Понял из хендбука, но реально не очевидно для не ts разраба
Из TS тут только сигнатура типа, код const bla = String сработает и в обычном JS

Andrew
20.04.2018
12:11:07
очевидность - штука очень субъективная

Google
Roman
20.04.2018
12:11:54
Поскажите, как описать тип объекта в котором могут находиться различные свойства?

Roman
20.04.2018
12:12:57
Например const obj = { cat: string, dog: string }

Но если я заранее не знаю названия свойств

Они генерируются динамически

Только через any? По другому никак?

Andrew
20.04.2018
12:14:43
если у всех свойств одинаковый тип, то можно описать индексатор

Andry
20.04.2018
12:15:13
{ [key: string]: MyType; } как-то так?

Roman
20.04.2018
12:19:30
andretshurotshka?❄️кде
20.04.2018
12:19:54
юзать мапы

Дмитрий
20.04.2018
12:29:54
там просто String
Ну чел тут очевидно увлёкся, поясняя)

Вот эквивалентный код: function func(num: number): string { return new String(num); }

Евгений Vúffe
20.04.2018
15:09:14
Народ а при обновлении с 2.0.9 на 2.4 что может пойти не так?

Aleh
20.04.2018
15:11:05
Он ошибок новых найдет

andretshurotshka?❄️кде
20.04.2018
15:37:14
Евгений Vúffe
20.04.2018
19:53:56
Мы кароч из-за того что у нас юзается возможность раннего тс вызывать конструктор родительский в конце наследуемого

Не можем обновить версию с 2.0.х

))

К слову про новые ошибки

Google
Евгений Vúffe
20.04.2018
19:55:07
звучит довольно стремно а в чем кейс такого вызова?
Я не помню подробно, но там все прям на удивление логично

Дмитрий
20.04.2018
19:55:48
Декоратор бахните или прокси

Евгений Vúffe
20.04.2018
19:56:17
Декоратор бахните или прокси
Я запомню этот совет

Там до вызова суперконструктора какая то магия процессинга с this.settings происходит

И надо чтобы она произошла до вызова родительского

Ну, кароч, спасибо ))

AlexAnder
21.04.2018
01:14:00
ребят, тс умеет в неймспейсы? namespace A { class ClassA {} } namespace B { class ClassB extends A.ClassA {} }

andretshurotshka?❄️кде
21.04.2018
02:57:37
Не нужны

AlexAnder
21.04.2018
03:08:22
с чего бы это?

AlexAnder
21.04.2018
03:09:13
к примеру есть сообщения, которые принимаю на сервер и которые отправляю: namespace Messages.Incoming { class AuthMessage {} class ChatMessage {} } namespace Messages.Outcoming { class AuthMessage {} class ChatMessage {} }

ты мне предлагаешь имя неймспейса пихать в каждое название класса?

оч разумно, спасибо

andretshurotshka?❄️кде
21.04.2018
03:10:59
В модули

оч разумно, спасибо
да, разумно не юзать неймспейсы

AlexAnder
21.04.2018
03:12:32
ну как бы каждый файл и есть модуль

в понимании тс

в твоём случае мне в шарпе нужно было бы делать отдельные сборки для этого случая? ????

Google
AlexAnder
21.04.2018
03:13:16
а лучше вообще отдельный солюшен с отдельным репозиторием

взять тот же реакт или еще какую лабуду import { AuthMessage as OutcomingAuthMessage } from '...' import { AuthMessage as IncomingAuthMessage } from '...'

Admin
ERROR: S client not available

AlexAnder
21.04.2018
03:16:26
меня не особо доставило писать подобное

и если у тебя не было необходимости в неймспейсах это не значит что они не нужны

andretshurotshka?❄️кде
21.04.2018
03:24:26
Блять

* as Outcoming

Не шаришь что ли

AlexAnder
21.04.2018
03:25:29
тогда нужно будет создать index.ts в нём импортить все файлы

а так да, как вариант

спасибо

Kelin
21.04.2018
09:09:40
Пиздец в тс неймспейсы есть?

Адуха

Alex
21.04.2018
10:30:43
оверлоды или миксовые типы?

тип так и должно быть?





AlexAnder
21.04.2018
12:06:56
кстати, перегрузки же нету по списку параметров?

AlexAnder
21.04.2018
12:23:36
а, ну оно и правильно, жс и без этого непредсказуем

Google
Kate
22.04.2018
02:57:42
Кто-нибудь пробовал lazy load на проекте с читым ts?

Alice
22.04.2018
06:22:22
Можно тс заставить триггерить ошибку по x as never, если x — не never? const x: string = 'x'; (x as never); // error expected

Petr
22.04.2018
06:53:54
Вам бы сначала писателей новостей смнить, такую туфту пишут, никакой TypeScript не поможет

Kelin
22.04.2018
07:04:56
Вам бы в @javascript_jobs

Artur
22.04.2018
10:23:57
Можно тс заставить триггерить ошибку по x as never, если x — не never? const x: string = 'x'; (x as never); // error expected
Можно сделать функцию assertNever(a: never): never; и передавать туда твой x

Max
22.04.2018
10:23:57
Alex
22.04.2018
10:58:55
Partial<T> как обратно вернуть T?

Max
22.04.2018
11:00:53
вернуть не выйдет

можно только сделать Required<Partial<T>> начиная с 2.8

если в Т были и обязательные и необязательные то эта информация потеряется

Alex
22.04.2018
11:02:49
а в 2.7.2 можно имплементить Required<T>&

Max
22.04.2018
11:04:17
неа, только в 2.8 появилась возможность убирать ? type Required<T> = { [P in keyof T]-?: T[P] };

Страница 583 из 669