
Alex
24.04.2018
10:43:26
тип такое нужно

Edward
24.04.2018
12:05:33
что за названия переменных, божемой

Google

Edward
24.04.2018
12:06:00
ты передал неверные названия
field2, где fieldw
и тд

andretshurotshka?❄️кде
24.04.2018
12:06:24
Пулл реквестом
Который ждём с 2015

Artem
24.04.2018
12:06:53
там чет другое же
похоже на старую версию тс

Alex
24.04.2018
12:07:01

andretshurotshka?❄️кде
24.04.2018
12:07:06
Обжект рест спред

Artem
24.04.2018
12:07:11
а, не, все верно, дженерики и рест ((

andretshurotshka?❄️кде
24.04.2018
12:07:16
На типах
давайте сделаем маппед, кондишнлы, а рест и спред не завезем
)

Google

Artem
24.04.2018
12:09:22
вот да

Alex
24.04.2018
12:22:08
ноужно явно as прописывать, иначе белеберда

andretshurotshka?❄️кде
24.04.2018
12:28:35
kek
когда додистрибьютился

Alex
24.04.2018
12:30:45
?
по сути достойное решение, можно получить как и нужный тип пропов через интерфейс, так и автоматически при создании в jsx
единственное трансформации с типом пропов в тайпингах реакта ломают отображение типа в лайфциклах

andretshurotshka?❄️кде
24.04.2018
12:33:09
в флоу бы написал *

Alex
24.04.2018
12:36:44
странно что тут нет ошибки
оказалось можно ещё проще

Vlad
24.04.2018
16:30:53

Евгений Vúffe
24.04.2018
17:44:27
Народ, быстрый глупый вопрос. Что в TS идеологически больше всего похоже на инкапсуляцию в вызываемую анонимную функцию из старого JS? ES2015 Модуль или namespace?
Или забить болт и инкапсулировать в анонимную функцию и дальше?
Кто как поступает с SPA?

Google

Ivan
24.04.2018
18:37:31
Забей бро, это лишь инструмент
Неймспейсы лучше вообще не юзать

Anton
24.04.2018
18:42:17

Samir
24.04.2018
18:45:15

andretshurotshka?❄️кде
24.04.2018
18:47:42
lol

Kirill
24.04.2018
18:51:28

andretshurotshka?❄️кде
24.04.2018
18:52:00
а
это другие модули
когда удалят?)

Ivan
24.04.2018
19:26:19

Max
25.04.2018
06:58:28
Через infer можно монкейпатчить типы аргументов у функций или методов в объектах - props (react).
А какое применение вы нашли для conditional types и infer declaration?

Kirill
25.04.2018
08:43:10
Пацаны, а можете поделиться опытом когда strictNullChecks вам помогал?

Тимофей
25.04.2018
08:59:02

Alex
25.04.2018
09:18:58

Max
25.04.2018
09:21:54

Alex
25.04.2018
11:02:24

Max
25.04.2018
11:05:26

Alex
25.04.2018
11:12:01
https://www.typescriptlang.org/play/#src=interface%20SomeGeneric%3CT%3E%20%7B%20%7D%0D%0Atype%20GetGeneric%3CT%3E%20%3D%20T%20extends%20SomeGeneric%3Cinfer%20TIn%3E%20%3F%20TIn%20%3A%20never%3B%0D%0A%0D%0Atype%20Generic%20%3D%20GetGeneric%3CSomeGeneric%3Cstring%3E%3E%3B

andretshurotshka?❄️кде
25.04.2018
12:06:03

Google

andretshurotshka?❄️кде
25.04.2018
12:06:33
по-хорошему где хкт

Евгений Vúffe
25.04.2018
13:36:48
Ребят, в object literal как-то можно парамеру анонимно тип указать?
типа {x: 'kek'} чтобы компилятор ожидал что x - это string
или только интерфейс писать

Алишер
25.04.2018
13:37:48
var obj: { property: string; } = { property: "foo" };

Евгений Vúffe
25.04.2018
13:38:30
а если внутри expression без объявления переменной?

Admin
ERROR: S client not available

Евгений Vúffe
25.04.2018
13:38:41
типа foo({x: 'kek'});

Алишер
25.04.2018
13:41:25
через интерфейс

Евгений Vúffe
25.04.2018
13:41:41
ок, пасиб )

Alex
25.04.2018
22:01:45
как кастануть тип переменной через if или что ещё, типа как если пишешь if(typeof someThing === "string") то IDE в скопе ифа определяет тип для someThing string как такое с интерфейсами провернуть?
понятное дело, что нельзя определить интерфейс у переменной, я спрашиваю именно про каст типа в IDE типа как const a = someThing as SomeType, спрашиваю есть что-то такое же, что задаёт переменной тип в скопе?

Eugene
25.04.2018
22:09:08

Alex
25.04.2018
22:10:17
"target" in object это то же что object.target !== undefined?

NEOQAZAQUE
26.04.2018
00:27:23
Нет, в первом случае проверяется наличие свойства, а во втором значение

Alex
26.04.2018
05:07:13

NEOQAZAQUE
26.04.2018
05:32:05
Да
Это как object.hasOwnProperty(key)
Ток hasOwnProperty не ищет в прототипах свойство

Google

Иван
26.04.2018
08:06:08
здравствуйте, подскажите, юзаю ts в vs code. кидает такую проблему This syntax requires an imported helper but module 'tslib' cannot be found. но я в tsconfig проставил "importHelpers": true
еще такое добавил "moduleResolution": "node"
и все равно
и модуль тоже я установил
я в общем не знаю, но я перезапустил vs code и проблема пропала!ой да)

Max
26.04.2018
11:36:50
господа, у когонить есть идеи, как сконвертить юнион в интерсекшн? уже все перепробовал

Евгений Vúffe
26.04.2018
12:00:12
внезапно

Сергей
26.04.2018
12:28:29
А что это за символы в типах. Миксины типа?

Max
26.04.2018
12:53:40
какие?
| и &?

Valery
26.04.2018
13:06:11
похоже на хак - в разных частях юниона могут быть одинаковые поля с разными типами, как в таком случае их объединять в пересечение?
type A =
| {
foo: string;
bar: boolean;
}
| {
foo: string;
bar: number;
baz: number
};

Max
26.04.2018
13:07:08
ну можно представить что какимто образом в bar окажется string | number :)
в итоге я решил задачу по другому, но такая возможность не помешала бы, хотелось бы что бы типизация в итоге могла отражать всё что я могу сделать в коде
пока что это не так

Valery
26.04.2018
13:13:03
кажется что гораздо проще и лучше разобрать в том же свитче этот юнион и обрабатывать типы соответствующим для них образзом