@typescript_ru

Страница 369 из 669
Aleh
04.10.2017
13:36:53
ну T должен быть exact типом

Artur
04.10.2017
13:37:07
https://www.typescriptlang.org/play/index.html#src=declare%20function%20keys%3CT%3E(o%3A%20T)%3A%20Array%3Ckeyof%20T%3E%0A%0Atype%20MyO%20%3D%20%7B%0A%20%20%20%20a%3A%20string%0A%20%20%20%20b%3A%20number%0A%7D%0A%0Afunction%20f(a%3A%20MyO)%20%7B%0A%20%20%20%20return%20keys(a)%0A%7D%0A%0Aconst%20a%20%3D%20%7B%0A%20%20%20%20a%3A%20%22%22%2C%0A%20%20%20%20b%3A%200%2C%0A%20%20%20%20c%3A%205%2C%0A%20%20%20%20d%3A%20%22%22%0A%7D%0A%0Aconst%20ks%20%3D%20f(a)

Aleh
04.10.2017
13:37:09
в keys

andretshurotshka?❄️кде
04.10.2017
13:37:15
ну T должен быть exact типом
ща узнаем что надо на фл*у переезжать

Google
Artur
04.10.2017
13:39:50
Я не понимаю почему твой пример должен работать по другому

Но возможно я просто слишком долго использую ts

Aleh
04.10.2017
13:40:12
https://www.typescriptlang.org/play/index.html#src=declare%20function%20keys%3CT%3E(o%3A%20T)%3A%20Array%3Ckeyof%20T%3E%0A%0Atype%20MyO%20%3D%20%7B%0A%20%20%20%20a%3A%20string%0A%20%20%20%20b%3A%20number%0A%7D%0A%0Afunction%20f(a%3A%20MyO)%20%7B%0A%20%20%20%20return%20keys(a)%0A%7D%0A%0Aconst%20a%20%3D%20%7B%0A%20%20%20%20a%3A%20%22%22%2C%0A%20%20%20%20b%3A%200%2C%0A%20%20%20%20c%3A%205%2C%0A%20%20%20%20d%3A%20%22%22%0A%7D%0A%0Aconst%20b%20%3D%20%7B%0A%20%20%20%20a%3A%20()%20%3D%3E%201%2C%0A%20%20%20%20b%3A%20()%20%3D%3E%202%0A%7D%0A%0Af(a).forEach(key%20%3D%3E%20console.log(b%5Bkey%5D()))

Artur
04.10.2017
13:40:18
btw это же всё равно лучше чем текущая аннотация (string[])

Aleh
04.10.2017
13:40:33
нет, текущая получше, потому что не дает делать такие вот ошибки

Дмитрий
04.10.2017
13:42:05
какая связь у перечислений и opaque? Oo
Если ты задекларируешь их как непрозрачный тип, то они начнут резко отличаться от других и больше не будут путаться в числе прочих Это вообще главный кейс для непрозрачных типов

Aleh
04.10.2017
13:42:21
и?

Дмитрий
04.10.2017
13:43:04
Ты ожидаешь услышать что-то ещё в ответ на свой вопрос?

Aleh
04.10.2017
13:43:30
ну да, я не понял связь перечислений и opaque

Дмитрий
04.10.2017
13:44:21
Я выбрал ближайшую реплику в релевантной беседе, а не самую подходящую

Aleh
04.10.2017
13:45:14
а, окей

Google
Дмитрий
04.10.2017
13:46:42
То есть, это по прежнему решает проблему человека, хоть и не относится напрямую к enum Написал это потому что при желании это поведение можно эмулировать и в ts, по крайней мере я вижу несколько вариантов, которые можно попробовать

Artur
04.10.2017
14:03:09
ну это рантайм ошибка)
https://codepen.io/anon/pen/BwmJPp?editors=1111 - нет

Aleh
04.10.2017
14:05:03
https://codepen.io/anon/pen/BwmJPp?editors=1111 - нет
не знаю куда там смотреть

Artur
04.10.2017
14:05:26
Так погоди

Aleh
04.10.2017
14:05:31
но простой запуск этого js в node/chrome приводит к ошибке

VM175:14 Uncaught TypeError: b[key] is not a function at <anonymous>:14:56 at Array.forEach (<anonymous>) at <anonymous>:14:6

Artur
04.10.2017
14:05:56
Да, ты прав

Vasiliy
05.10.2017
07:05:17
котаны

то нибудь юзал здесь NSWAG?

для генерации слоя API

на TS

неееет?

Yury
05.10.2017
12:51:40
Есть ли тут разрабы java/scala? Какой профит от TypeScript на сервере? Разработка идет быстрее? За счет чего?

Ivan
05.10.2017
12:52:58
есть. бери vertx + kotlin и нафиг этот ТС

это и похоже на play framework и на nodejs, но реализовано нормально

эта связка уж точно мажорирует nodejs+ts

https://habrahabr.ru/post/322406/

Yury
05.10.2017
12:55:51
А почему ты сидишь тогда в этом чатике ts?)

Google
Yury
05.10.2017
12:55:59
Или юзаешь ts на клиенте?

онли

Mike
05.10.2017
12:56:23
да, мы с Ваней работаем над клиентским проектом

у нас сервера вообще на перле, потому что так сложилось, и никто не умер.

Yury
05.10.2017
12:58:53
https://i.ytimg.com/vi/x5Zxh0Fj23A/hqdefault.jpg

Ivan
05.10.2017
12:59:19
можно ещё scalajs

у скалы есть один большой минус - хер ты на неё народ найдешь :)

хороший такой коэфициент к зарплате

я пишу на TS потому что в случае чего я те же наработки смогу перенести это на скалу или котлин за короткий срок. Поэтому меня выбешивают приколы с import/export-ами :)

ну и сейчас проект большей частью клиентский.

Yury
05.10.2017
13:03:21
а на котлине много народу разве?))

Ivan
05.10.2017
13:03:39
будет много. андроид уже весь в котлине

js пока тихонько ползёт

с нетерпением все ждут kotlin на ios нативный

вот тогда он будет как хакс только гораздо круче.

Mike
05.10.2017
13:04:26
https://scontent-arn2-1.xx.fbcdn.net/v/t31.0-8/22179760_856184994557356_7191912321039226193_o.jpg?oh=a2a9b433982836e46b63167d1a9ec6e4&oe=5A3B940D

Aleh
05.10.2017
13:07:05
статическая(

Дмитрий
05.10.2017
13:11:22
статическая(
да уж, так себе мемес

Mike
05.10.2017
13:11:32
так он протому и захотел навалять клоуну что он не понимает разницы динамическая-статическая и сильная-слабая

а строгой вообще нет

Google
Aleh
05.10.2017
13:11:54
ох, какой прикол с двойным дном

Дмитрий
05.10.2017
13:12:15
"Строгая типизация — ето та, которая мне нравится"

Vladimir
05.10.2017
13:15:48
а я думаю, что это модер чата полез за бесполезным троллем

Vladimir
05.10.2017
14:13:15
Котлин хорош, как альтернатива джаве. Компилировать его в js особого смысла нет, кроме как шаринг кода

Igor
05.10.2017
14:21:34
А если хочется норм язык без компромисов ради js?

Mike
05.10.2017
14:23:37
А если хочется норм язык без компромисов ради js?
то ты встрянешь на производительности когда архитектура того что ты напишешь на js не ляжет и будет тормозить

Igor
05.10.2017
14:24:51
Выглядит очень надуманно, а можно пример? Ну html5 - игры наверное писать не стоит.

Mike
05.10.2017
14:25:15
ну например юнити

который из за своей модели памяти и сборщика мусора вынужден компилить путйм C# -> ILL -> c++ -> emscripten и в итоге они живут на заранее выделенном хипе который нормально не могут сайзить, и падают если нужного хипа одним куском нет

Дмитрий
05.10.2017
14:27:47
А если хочется норм язык без компромисов ради js?
Ну тебе мало компилируемых в жс альтернатив?

Mike
05.10.2017
14:30:09
хз

пока в wasm нет сборщика вообще

но даже если он появится, он всё равно не сможет вести себя также как шарповый

Igor
05.10.2017
14:30:36
Mike
05.10.2017
14:30:53
"не верю!"

Igor
05.10.2017
14:31:45
Ну тебе мало компилируемых в жс альтернатив?
Вроде хватает. Хотелось бы конечно, что бы оно компилилось в байткод (c gc), а не JS

Mike
05.10.2017
14:33:57
Вроде хватает. Хотелось бы конечно, что бы оно компилилось в байткод (c gc), а не JS
я люблю говорить о такой херне как смена парадигмы. Никогда автотрансформ в другую парадигму не будет быстр. И например в js до сих пор нет wek сылок и ты никак не можешь их эмулировтаь, и любой язык где они есть при трансформе в js либо будет течь по памяти, либо притащит свою модель памяти и будет безбожно тормозить или иметь другие ограничения

andretshurotshka?❄️кде
05.10.2017
14:34:30
weakmap это не оно?

Mike
05.10.2017
14:35:15
нет, по нему нельзя итерироваться, значит на нём невозможно сделать хранение вик ссылки чтобы по ней можно было обратиться пока объект жив

Google
Dreamerinnoise
05.10.2017
14:36:52
пока в wasm нет сборщика вообще
есть там возможность в wasm собрать

Vladimir
05.10.2017
14:41:21
Weak ссылки нужны например для интеграции C++ либ, скомпилированных в васм

Дмитрий
05.10.2017
14:42:01
WeakRefs вроде уже в пропозалах?

Vladimir
05.10.2017
14:42:46
Да он мертвый, был по крайней мере

Mike
05.10.2017
14:44:05
А где это реально юзается? В той же java - это давно стало “анипаттерном”. Разве что в object-c/swift тк там не gc и циклические ссылки мешают.
аргумент не юзается - не аргумент. Это просто один из примеров того что не перекладывается с одного рантайма на другой

и таких примеров много

da horsie
05.10.2017
19:51:02
if (foo === void 0) {...} - это нормальный способ проверки на udefined?

Олег
05.10.2017
19:51:35
нет

da horsie
05.10.2017
19:51:51
почему? где он ломается?

Дмитрий
05.10.2017
19:52:03
Любите вы усложнять)

Олег
05.10.2017
19:52:10
это вкусовщина

Mike
05.10.2017
19:52:31
Нигде не ломается

da horsie
05.10.2017
19:52:36
нужно обязательно через typeof, иначе неправославно?

Дмитрий
05.10.2017
19:52:54
=== undefined не устраивает?)

Олег
05.10.2017
19:53:11
=== undefined не устраивает?)
я за этот вариант

Mike
05.10.2017
19:53:21
=== undefined не устраивает?)
Потому что в не стрикт режиме undefined пожно переопределить

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