@typescript_ru

Страница 361 из 669
Дмитрий
27.09.2017
13:19:42
TS тоже вполне мог бы это понимать

Дмитрий
27.09.2017
13:19:47
Дмитрий
27.09.2017
13:19:52
в общем, дело в спеке

Алексей
27.09.2017
13:20:51
TS тоже вполне мог бы это понимать
ага, если бы давал декораторам возможность менять тип

Google
Алексей
27.09.2017
13:20:54
но он не даёт

Aleh
27.09.2017
13:21:01
так декоратор ж обязательно мутирует, а не возвращает новое

там return тип вообще без разницы

Алексей
27.09.2017
13:21:22
по моему может и возвращать

если я не ошибаюсь

Aleh
27.09.2017
13:21:36
надо проверить

Алексей
27.09.2017
13:21:57
вдруг захочется декоратору поменять поведение конструктора

хотя я не уверен

Aleh
27.09.2017
13:22:23
надо читать спеку, которая еще нигде не заимплеменчена и будет меняться)

Дмитрий
27.09.2017
13:23:09
уже че-то долго тянут

а всякие там recompose тоже, получается, не должны работать?

оно ж хоки возвращает, а не мутирует компонент

Google
Дмитрий
27.09.2017
13:27:37
?

Aleh
27.09.2017
13:30:34
почему бы просто не юзать вызов функций?)

и тогда все начинает работать

andretshurotshka?❄️кде
27.09.2017
14:55:28
тс не может в оверлоад функции с литералами?



Дмитрий
27.09.2017
14:58:01
может

но имплементация должна поддерживать оба варианта

andretshurotshka?❄️кде
27.09.2017
14:58:24
ну

у меня declare тут

Mike
27.09.2017
14:58:37
https://www.typescriptlang.org/play/#src=declare%20function%20qq(p%3A%20%22myParam1%22)%3A%20void%3B%0D%0Adeclare%20function%20qq(p%3A%20%22myParam2%22)%3A%20void%3B%0D%0A%0D%0A%0D%0Aqq('myParam1')

странно, тут не ругается

andretshurotshka?❄️кде
27.09.2017
14:59:25
лол

Сергей
27.09.2017
14:59:29
оно записывается по другому же



https://www.typescriptlang.org/play/#src=%0D%0Aconst%20f%3A%20Foo%20%3D%20()%20%3D%3E%20%7B%7D%0D%0A%0D%0Atype%20Foo%20%3D%20%7B%0D%0A%20%20%20%20(a%3A%20%22foo%22)%3A%20string%2C%0D%0A%20%20%20%20(a%3A%20%22bar%22)%3A%20number%2C%0D%0A%7D%0D%0A%0D%0A%0D%0Aconst%20d%20%3D%20f(%22foo%22)%0D%0A%0D%0A%0D%0A

andretshurotshka?❄️кде
27.09.2017
15:03:33
аа

он ошибку не там показывает)

дело в объекте походу

Denis
27.09.2017
15:12:00
дело в шляпе

Google
andretshurotshka?❄️кде
28.09.2017
03:46:29
https://github.com/Microsoft/TypeScript/pull/18654 ?

Пусть введут уже синтаксис для ко и контравариантов

Костыли

Mike
28.09.2017
03:48:00
жесть какая

да, на весь проект переключать неудобно будет

andretshurotshka?❄️кде
28.09.2017
03:48:49
I don't think anyone wants to see explicit bivariant or contravariant modifiers, or cryptic + and - annotations

Ееее

Ivan
28.09.2017
07:39:31
привет скала?

LiberateAI
28.09.2017
07:59:57
Methods are excluded specifically to ensure generic classes and interfaces (such as Array<T>) continue to mostly relate covariantly. The impact of strictly checking methods would be a much bigger breaking change as a large number of generic types would become invariant (even so, we may continue to explore this stricter mode). Еще и неоднородность появляется

andretshurotshka?❄️кде
28.09.2017
08:01:03
привет скала?
привет флоу

Лучше бы добавили + и -, чем делали флаги

Олег
28.09.2017
08:01:15
Почему import('test') может компилироваться в Promise.resolve().then(function () { return require('test'); }) а не в new Promise(function (resolve_1, reject_1) { require(['test'], resolve_1, reject_1); })

Vladimir
28.09.2017
08:26:10
Лучше бы уже сделали один флаг --do-what-flow-does, а не кучу мелких

Aleh
28.09.2017
08:27:46
Ну они все в --strict добавляют, просто до flow все равно еще далеко

Сергей
28.09.2017
10:12:36
лол

https://github.com/Microsoft/TypeScript-Handbook/blob/master/pages/Namespaces%20and%20Modules.md#needless-namespacing

Олег
28.09.2017
10:14:28
потому что второй вариант неправильный
второй вариант выдает плейграунд с официально сайта

andretshurotshka?❄️кде
28.09.2017
10:17:11
Там AMD модули значит

Google
Artur
28.09.2017
11:19:53
А как вы в TS пишете выражения вида (0, this.function)()?

Ругается на error TS2695: Left side of comma operator is unused and has no side effects.

Aleh
28.09.2017
11:21:31
(0 as any, this.function)() прям девиз ts: просто добавь any

Сергей
28.09.2017
11:21:33
Дмитрий
28.09.2017
11:22:06
Artur
28.09.2017
11:22:07
зачем такое писать?
более быстрый (где-то я такое слышал) аналог this.function.call(void 0)

Дмитрий
28.09.2017
11:22:52
ну вообще похоже на то, что вызовется действительно без контекста

Сергей
28.09.2017
11:23:02
исправил мессагу

Artur
28.09.2017
11:23:22
исправил мессагу
Да, напутал с null | undefined

Дмитрий
28.09.2017
11:23:36
но это дичь

Artur
28.09.2017
11:23:37
лучше писать явно
Это уже другой вопрос

но это дичь
Внутри библиотеки почему бы и нет

@aquahawk думаю меня поддержит :)

Дмитрий
28.09.2017
11:24:27
Внутри библиотеки почему бы и нет
какая разница внутри чего?

Сергей
28.09.2017
11:24:48
Внутри библиотеки почему бы и нет
если в либе это будет результатом компиляции, то ок но в исходниках такое, ещё и в тс, как-то дерьмово

Artur
28.09.2017
11:25:42
Не ну можно конечно написать так: const fn = this.function fn()

Artur
28.09.2017
11:26:11
Но там есть всякие неявные контексты, я вот не уверен что там в this не будет window

Google
Дмитрий
28.09.2017
11:26:45
Это вообще как в 2к17?

это ж надо use strict отключать принудительно

если это вообще возможно

в сборщике/компиляторе, я имею ввиду

Но там есть всякие неявные контексты, я вот не уверен что там в this не будет window
проще выучить, как this работает, чем говорить СТРАННОЕ про «неявные контексты»

Artur
28.09.2017
11:29:04
Да, через отдельную переменную лучше

Mike
28.09.2017
11:49:59
А как вы в TS пишете выражения вида (0, this.function)()?
нет не поддержу, я такое не пишу

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