@typescript_ru

Страница 650 из 669
George
14.06.2018
08:03:33
хмм, спасибо, хорошая идея @artur_viktorovich

Дмитрий
14.06.2018
11:50:27
Менять прототип внутри самой функции ето жостко

Max
14.06.2018
12:00:01
Почему декоратор должен возвращать тот же класс?

Google
Max
14.06.2018
12:00:13
Ебанина какая-то

Artur
14.06.2018
12:00:24
Да, ебано

George
14.06.2018
12:39:44
Почему декоратор не влияет на типы, вот это печаль :(

Aleh
14.06.2018
12:40:13
почему никого не смущает название флага experimental

Andrey
14.06.2018
12:40:45
Vlad
14.06.2018
12:42:31
почему никого не смущает название флага experimental
какие варианты в ng без декораторов?

Artur
14.06.2018
12:43:15
С декораторами тупо удобно

George
14.06.2018
12:43:23
ну по документации нет, но это печально) столкнулся с тем, что тайпскрипт не может в декораторах совсем

Artur
14.06.2018
12:43:38
декоратор класса должен изменять переданный в него класс, но не создавать новый, как то так

George
14.06.2018
12:44:22
пытался переопределить функцию-конструктор у класса, не вышло

может, но не идеально, да

Google
Artur
14.06.2018
12:44:38
Точнее так - ты можешь это сделать, для этого тебе просто надо скастовать типы через as any as

Но это срань конечно

George
14.06.2018
12:45:16
ну да, как я понимаю проблема то что он выполняется после компиляции, а до нее он просто не знает, что именно поменяется?

ну через эни не очень как то работать хах

Artur
14.06.2018
12:45:34
он просто делает тайпчек и чуть чуть меняет код

Алексей
14.06.2018
12:46:04
Точнее так - ты можешь это сделать, для этого тебе просто надо скастовать типы через as any as
Такой дурацкий вопрос, а as any as something чем то отличается от as something?

Artur
14.06.2018
12:46:08
https://github.com/Microsoft/TypeScript/pull/24439 А вот это уже обсирали?

Такой дурацкий вопрос, а as any as something чем то отличается от as something?
Отличается, второй вариант не всегда сработает

а первый вариант полное отключение типов

George
14.06.2018
12:46:32
Artur
14.06.2018
12:46:50
George
14.06.2018
12:46:57
плохо старался?
как только не старался))

Алексей
14.06.2018
12:47:12
Отличается, второй вариант не всегда сработает
Хм, что-то не замечал, может быть это при определённых настройках или в определённых версиях

George
14.06.2018
12:47:21
Чем unknown от undefined отличается?

и от void

Artur
14.06.2018
12:47:50
Чем unknown от undefined отличается?
Да, даже так: void, undefined, null, never, unknown

George
14.06.2018
12:48:18
ну never вроде выделяется

Google
George
14.06.2018
12:48:21
из списка

null тоже

а вот остальные три..

Artur
14.06.2018
12:48:42
undefined тоже

он как null

Только undefined

Дмитрий
14.06.2018
12:48:49
https://github.com/Microsoft/TypeScript/pull/24439 А вот это уже обсирали?
Мне кажется тут как раз таки всё ок, по крайней мере такой херни как с нетуплами тут не заметно

Дмитрий
14.06.2018
12:49:27
never → unknown типа ок

Artur
14.06.2018
12:49:55
Чисто теоретически же имеет право на существование такой тип данных? Ну то, что в TS называют open ended tuple. Как его православно назвать?

Дмитрий
14.06.2018
12:50:50
Нет, не имеет, я серьёзно)

N-tuple это ведь

То что сейчас сделали это мб массив какой нибудь или что то в этом духе

Олег
14.06.2018
12:51:33
как только не старался))
https://github.com/NetanelBasal/ngx-take-until-destroy/blob/master/src/take-until-destroy.ts#L22-L32 а так

Artur
14.06.2018
12:52:03
У него и длина была

Дмитрий
14.06.2018
12:52:19
Я даже специально перепроверил, даже C# декларирует tuple как полагается н-арными

Просто на этом он как тупл реально заканчивается, теперь это что угодно но нетупл

George
14.06.2018
12:53:53
https://github.com/NetanelBasal/ngx-take-until-destroy/blob/master/src/take-until-destroy.ts#L22-L32 а так
Ну так и делал кажись. Пытался вернуть класс с недефолтным констурктором. Методы и поля отлично навешиваются, а вот конструктор как был тот что раньше, так и оставался снаружи.

Google
Artur
14.06.2018
12:53:55
Я даже специально перепроверил, даже C# декларирует tuple как полагается н-арными
И там вообще никак не объявить такой список, в котором первый элеемнт - строка, второй - число, а потом идёт сколько угодно булевых?

Дмитрий
14.06.2018
12:54:33
Можно, но это не будет tuple а чем нибудь более подходящим, типа array

Tuple нет, нельзя , там такой тип сразу создаётся фиксированным

Проблемы не будет если явно задекларировать что это новый тип данных в тс и отделить от синтаксиса туплов, но тот злополучный пр делает ровно противоположное

По сути проблему сделали на ровном месте, ничего не вынуждало портить tuple, тут даже рациональной причины никакой нет; просто автор не подумал про это и из всех вариантов реализации очередной фичи выбрал крайне неудачный

Дмитрий
14.06.2018
13:20:08
Как?
Явно добавив массив как элемент

Vladimir
14.06.2018
13:20:34
Это не тоже самое

Дмитрий
14.06.2018
13:20:40
Естественно

Что только подтверждает тот факт что c# декларирует Tuple н-арным и подобной фигни не позволяет

Vladimir
14.06.2018
13:23:08
Что потверждает, что там нет такой фичи

Это просто фича, которой больше нигде нет

Дмитрий
14.06.2018
13:23:30
Это что угодно но не tuple

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

Я не против фичи, я против того, что теперь смешаны два откровенно разных типа данных

Vladimir
14.06.2018
13:25:02
Ну открой issue чтобы поменяли название

Дмитрий
14.06.2018
13:26:16
Это не поможет, потому что они смешаны на уровне синтаксиса

Vladimir
14.06.2018
13:26:41
просто не будет туплов

их же нет, на самом деле

Дмитрий
14.06.2018
13:27:12
просто не будет туплов
Ну вот я про то же

Google
Vladimir
14.06.2018
13:27:26
Ну и? Какая разница

Дмитрий
14.06.2018
13:33:40
Обращение по индексу в туплах было безопасным

Александр
14.06.2018
13:34:11
уже месяц вижу как тут спорят о туплах, что это хоть такое, для чего используется?

Дмитрий
14.06.2018
13:34:29
Кортежи фиксированной длины

Александр
14.06.2018
13:34:43
В универе что-то рассказывали

Сергей
14.06.2018
13:36:01
Кортеж (информатика) — Википедия ru.wikipedia.org Кортеж — упорядоченный набор фиксированной длины. Пусть даны множества. , не обязательно различные. Тогда корте́ж длины n, упорядоченный набор длины n, упорядоченный n-набор или n-ка — упорядоченная последовательность из n элементов. где. для.

Vladimir
14.06.2018
13:37:58
Обращение по индексу в туплах было безопасным
И осталось, если не использвать новые фичи

Дмитрий
14.06.2018
13:39:08
?

George
14.06.2018
13:40:05
Можно ли в тайпскрипте делать что-то такое? interface A<T> { fun<T extends A<K>>(): A<T|K>; }

Дмитрий
14.06.2018
13:40:14
Вот только косяки с сабтайпингом открывает большие возможности для выстрела себе в ногу

Vladimir
14.06.2018
13:40:45
Есть примеры?

kana
14.06.2018
13:51:09
Теперь в TS есть void, never, unknown
Не знаю, как в тс, но все что ты перичислил выглядит как разные по смыслу вещи, все нормально

Oleg
14.06.2018
13:51:39
так они давно ж там есть? не?

Anton
14.06.2018
14:05:58
unknown ещё нету, только в мастер недавно заехал. Как по мне, в PR весьма чётко расписано, что и зачем, нормальный новый тип. Его скорее не с void и never сравнивать надо, а c any.

Aleh
14.06.2018
14:07:55
unknown не хватало да

Сергей
14.06.2018
14:17:20
жесть

тс однозначно пизда

void, never, unknown, any, …

сколько нужно ещё обозначений чтобы разрабы тс успокоились?

Oleg
14.06.2018
14:18:15
все равно лучше чем флоу)

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