@typescript_ru

Страница 64 из 669
Vladimir
13.09.2016
14:43:12
Вот на константы пример

https://flowtype.org/try/#0PQKgBAAgZgNg9gdzCYAoVBjOA7AzgFzAGEcCBDbfXMAXjAG9UwwAxAeTYC4wBydtngBomYAEIBBAErceEyT1QBfANzp8ATwAOAU2Kl8FfABUtuugBIA0tvW4APBp1woevAcq4AfOigBXbBj4AJY4YPjaBAAUAG5kMNwkboYmOgCUDEpqEfiRieQeAHT8qUA

Этот
там все как надо

Google
Vladimir
13.09.2016
14:44:03
там есть ошибка, и она показывается

Sergey
13.09.2016
14:45:20
Заморочено

マイク
13.09.2016
14:45:58
Тайпскрипт же не может в такое?

Vladimir
13.09.2016
14:46:35
Такое - определенно нет

Там вроде обсуждают строковые енамы

Alex
13.09.2016
15:03:15
Тайпскрипт же не может в такое?
скоро сможет https://github.com/Microsoft/TypeScript/pull/10425

Oleksandr
13.09.2016
15:10:24
какая жесть)

Vladimir
13.09.2016
15:13:10
Да, тайпскрипт последнее время занимается исключительно реализацией фич из флоу

Sergey
13.09.2016
15:14:34
Vladimir
13.09.2016
15:17:40
Может и функции сделают нормально

Aleh
13.09.2016
15:20:08
функции?

в смысле ту лажу с аргументами?)

Google
Vladimir
13.09.2016
15:21:10
ага

Я кстати раскурил объяснение из фака

В общем, чтобы сделать массивы ковариантными, они сломали функции, вместо того чтобы сделать массивы номинальнами

номинальными

Кстати, новая фишка во флоу

https://flowtype.org/try/#0PQKgBAAgZgNg9gdzCYAoVUCuA7AxgFwEs5sxCBnAZXwCdDsBzACgA8BKALjACM44YApgENSAUlwALAbgDW5MAG9UYMDQH5MNUvgCeABwFwoYFmAC8FsAHJytegysBuVAF90WPERJgAtuolwACasXLZ0jGAAPmDYmD7cAjScMXEJNIrKZMZMFNThzOxsGSoqahpaJgB0kkI0AMJBAgCC+EwADGzOKi5gAjDkAsUlZZqkLF1gbi5AA

Aleh
13.09.2016
15:27:02
а что %checks значит, а то издали похоже на is Smth в ts

Vladimir
13.09.2016
15:27:08
да

только реально проверяет)

Aleh
13.09.2016
15:27:27
а

норм

поменял на number и все сломалось

Mike
13.09.2016
15:28:41
В общем, чтобы сделать массивы ковариантными, они сломали функции, вместо того чтобы сделать массивы номинальнами
там много ещё что ползёт от ковариантности функций. В том числе при наследовании возможность определить метод как принимающий уже наследника. Например когда делаешь методи plus который принимает аргумент того же типа

Vladimir
13.09.2016
15:29:02
я про это же

Я просто не понял, почему они не сделали массивы номинальными

Mike
13.09.2016
15:29:58
это реально сильно упрощает дело

Aleh
13.09.2016
15:30:01
https://flowtype.org/try/#0PQKgBAAgZgNg9gdzCYAoVUCuA7AxgFwEs5sxCBnAZXwCdDsBzACgA8BKALjACM44YApgENSAUlwALAbgDW5MAG9UYMDQH5MNUvgCeABwFwoYFmAC8FsAHIseIiSsBuVAF90tgsVIBbdRLgAJqxc5LT0DGAAPmDYmN7cAjScMXEJNIrKZMZMFNR0jKxsbBkqKmoaWiYAdJJCNADCgQIAgvhMAAxsziouYAIw5AIlpeWapO3dYG4uQA

:(

Vladimir
13.09.2016
15:30:06
и производительность

Так там string | number

Google
Vladimir
13.09.2016
15:30:37
это к вопросу о dead code

https://flowtype.org/try/#0PQKgBAAgZgNg9gdzCYAoVUCuA7AxgFwEs5sxCBnAZXwCdDsBzACgA8BKALjACM44YApgENSAUlwALAbgDW5MAG9UYMDQH5MNUvgCeABwFwoYFmAC8FsAHIseIiSsBuVAF90tgsVIBbdRLgAJqxc5LT0DGAAPmDYmN7cAjScMXEJNIrKZMZMFNR0jKxsbBkqKiwAdFB83EI0TGzOparqmqQVkrUAwoECAIL4TAAMDZkuYAIw5AIlpWoaWmCDjWBuLkA

Mike
13.09.2016
15:31:12
Я просто не понял, почему они не сделали массивы номинальными
если сделать строгую проверку питов на массивах, то придётся делать ещё что-то типа массовов в которые ничего нельзя добавлять, и тогда эти массивы можно будет приводить к типу массива от предка

Vladimir
13.09.2016
15:31:42
Ну это можно и структурно сделать как раз на интрефейсах

Mike
13.09.2016
15:33:02
кстати, ms что-нибудь заявляли по поводу релиза второй тайпы? то что rc есть я знаю, но пока не хочу пробовать его

а фичи вкусные

особенно, как параноик, жду nullable types и стрикт режим на них

Oleksandr
13.09.2016
15:44:38
конец сентября мб

Oleksandr
13.09.2016
15:47:50
в смысле ту лажу с аргументами?)
а что там? дайте ссылку

Vladimir
13.09.2016
15:48:16
а это уже фишка ts же)
Тока в тс она небезопасна

как и все в тс)

Mike
13.09.2016
15:50:02
а что там? дайте ссылку
https://github.com/Microsoft/TypeScript/wiki/FAQ#why-are-function-parameters-bivariant

Oleksandr
13.09.2016
15:54:05
ааа

да, это hard problem

Mike
13.09.2016
15:54:54
я на функциях на это уже один раз жёстко наткнулся

и нигде кроме этого faq описания этой проблемы в доках не нашёл

Oleksandr
13.09.2016
15:55:36
а тут нет хорошего решения, оно зафакаплено в куче языков

увы

поэтому все про нее, типа, помнят но умалчивают

Google
Oleksandr
13.09.2016
16:01:22
в частности variance inference is hard, а надписывать сабж на типах не самое приятное занятие

Vladimir
13.09.2016
16:05:56
а тут нет хорошего решения, оно зафакаплено в куче языков
нет, есть хорошое решение - функции должны быть контрвариантны

это хорошее решение, и оно есть)

Mike
13.09.2016
16:06:48
я бы хотел видеть это опцией

это полезно для параноиков, и в то же время упрощает вход для новичков

Vladimir
13.09.2016
16:07:37
да чем же?

Admin
ERROR: S client not available

Vladimir
13.09.2016
16:07:59
это даже для того кто не знает слово контрвариантность вызывает WTF

Mike
13.09.2016
16:08:01
да они и так офигивают от того сколько им требуется явно указать в начале

а зато в наследнике заоверрыйдить функцию совместимым типом вполне ок

хотя да, от этого тоже можно избавиться дженериками

Nikita
13.09.2016
16:13:16
не flow жестко тупит, если пример выше разнести на несколько файлов)

как это обычно в реальности есть

Vladimir
13.09.2016
16:13:37
какой именоо?

Nikita
13.09.2016
16:13:53
который с typeof SOME_CONSTANT

Vladimir
13.09.2016
16:14:12
так он вообще работать не должен

Nikita
13.09.2016
16:14:24
в плейграунде же работал))

Vladimir
13.09.2016
16:14:43
не, не работал, там был string на выходе

по факту

Nikita
13.09.2016
16:15:22
эх

Google
Ҫѐҏӗѫӑ
13.09.2016
19:03:14
хехе https://github.com/tc39/proposal-private-fields/issues/14#issuecomment-246503734

Andrey
13.09.2016
19:04:32
вот это уже совсем будет весело)

Ҫѐҏӗѫӑ
13.09.2016
19:04:46
ну так это про то же

о чем днем говорили

Andrey
13.09.2016
19:05:04
да, но тут уже обменяются индентификаторами)

или я пропустил именно это обсуждение)

Ҫѐҏӗѫӑ
13.09.2016
19:05:53
но там Брайан против(

но это потому что он из мс

да, но тут уже обменяются индентификаторами)
ну там все кроме брайана и йегуды пока за свап вроде

Vadim
13.09.2016
19:14:02
Такой вопрос: как мне задать интерфейс оверлоад функции (функцию с разными возможными сигнатурами). Короче, нужно просто задать интерфейс такой функции, без реализации. Так как это тайпинг для внешней библиотеки

Aleh
13.09.2016
21:39:46
type SomeFuncT = { (): void; } добавь к этому | и получится то, что хочешь)

Sergey
13.09.2016
21:50:32
ну там все кроме брайана и йегуды пока за свап вроде
Чем им этот новый синтаксис поможет вроде непонятно. Потому так ничего нового он во внешний интерфейс объекта не приносит. А используется только внутри. Так тогда зачем это все?

Алексей
13.09.2016
22:05:38
хехе https://github.com/tc39/proposal-private-fields/issues/14#issuecomment-246503734
пипец.. кстати спасибо огромное за ссылку

Vlad
14.09.2016
06:40:40
Всем привет

Ребятки, подскажите в тс будет и планируется ежели нет, оператор Элвиса?

Viacheslav
14.09.2016
06:49:51
привет

а в JS он планируется?

ежели нет, то и в ts вряд-ли

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