@typescript_ru

Страница 586 из 669
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
Народ, быстрый глупый вопрос. Что в TS идеологически больше всего похоже на инкапсуляцию в вызываемую анонимную функцию из старого JS? ES2015 Модуль или namespace?
модули использовать предпочтительнее, чем неймспейсы и тем более чем IIFE. Кстати, и модули и неймспейсы и есть IIFE в рантайме goo.gl/R9t5TD :)

Samir
24.04.2018
18:45:15
Node --inspect-brk?
hmm, posmotru, spasibo

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

Kirill
24.04.2018
18:51:28
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
Max
25.04.2018
09:21:54
Generic<T> —> T
Можно ли пример в playground?

Alex
25.04.2018
11:02:24
Можно ли пример в playground?
type GetGeneric<T> = T extends SomeGeneric<infer TIn> ? TIn : never

Max
25.04.2018
11:05:26
type GetGeneric<T> = T extends SomeGeneric<infer TIn> ? TIn : never
Я всё равно не понял. Можно, пожалуйста, полный пример в плейграунде, чтобы можно было самому потыкать?

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

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, спрашиваю есть что-то такое же, что задаёт переменной тип в скопе?

Alex
25.04.2018
22:10:17
Гугли type guards
да, уже нашёл то что нужно спасибо

"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
ну можно представить что какимто образом в bar окажется string | number :)
в таком кейсе похоже что ты взводишь курок что бы выстрелить себе в ногу... Если у тебя есть объекты разных типов, то зачем их смешивать в один тип и делать поля string | number | null | .. ? ибо при определенной комбинации юниона это даст тебе результирующий интерсекшн с полями типа any

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

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