170 похожих чатов

41 ответов

25 просмотров

енамы есть в рантайме

А он должен?

декораторы тоже есть в рантайме..

Денис- Автор вопроса
Stas I.🏄
А он должен?

оххх, к этому и подводка была...

..
декораторы тоже есть в рантайме..

Не декораторы, а сгенерированный ими жс Разные вещи

Алексей Попов
Не декораторы, а сгенерированный ими жс Разные вещ...

байткод тоже компилятором генерится, чеж теперь байткод писать?

Алексей Попов
Не декораторы, а сгенерированный ими жс Разные вещ...

это сути не меняет. Енамы - это тоже сгенерированная в джс структура

Алексей Попов
По-моему как раз меняет суть

если речь о декораторах джаваскриптовых, которые готовят в какой-то там следующей версии EcmaScript, то да. Это совершенно разные вещи. Но по факту декораторы в тайпскрипте подходят под определение паттерн декоратор

..
если речь о декораторах джаваскриптовых, которые г...

Подходят, но мы же вроде не об этом говорили. А о том, что в рантайме тс нет

исходя из такой логики, можно сказать, что и джаваскрипта в рантайме нет. Есть только байткод

..
исходя из такой логики, можно сказать, что и джава...

Которого тоже нет, потому что всё это команды процессора, которых тоже нет, потому что всё это сводится к движению электронов. Уже много раз видел это доведение до абсурда Но смысл в том, что тс растворяется и превращается в жс. Который имеет спецификацию, и для исполнения которого и создан v8. Поэтому на определённом уровне абстракции можно говорить о том, что исполняется у нас всё же код на жс А у тс ни спецификации, ни рантайма нет

Алексей Попов
Которого тоже нет, потому что всё это команды проц...

В любом случае, декораторы и енамы - это сгенерированные тайпскриптом штуки. Да, сгенерированные в джс, но все же, описанные в тайпскрипте. И генерироваться без тайпскрипта они не будут. По такой логике, можно утверждать, что тайпскрипт - это не язык. Существует достаточно языков, которые генерируются в другие языки. Например, дарт

Алексей Попов
А ты с чем воюешь то?

с формулировкой, что тайпскрипта в рантайме нет

..
с формулировкой, что тайпскрипта в рантайме нет

Так его нет. Есть жс код, который сгенерирован транспилятором. А от тс в рантайме ничего не остаётся. И все гарантии, которые он криво-косо, но даёт в compile time, исчезают в runtime

Заставит тебя мыслить по-другому.

Алексей Попов
Так его нет. Есть жс код, который сгенерирован тра...

Читал всю дискуссию, но так и не понял смысла спора, т.к. я думал что тс нужен для того что бы на стадии написания сократить кол-во багов и улучшить читаемость кода...

Алексей Попов
Ок

Что значит ок? Я правильно понял цель тайпскрипта, или нет? :))

Kvhqm Mboe
Читал всю дискуссию, но так и не понял смысла спор...

ТС нужен для: 1. Документация своего кода, чтобы понимать что к чему и куда 2. Тем самым упрощать онбординг новых разработчиков 3. Тулинг в IDE (автокомплиты, подсказки и все такое) Сократить кол-во багов - очень вряд-ли Улучшить читаемость кода - точно не к ТСу

Kvhqm Mboe
Что значит ок? Я правильно понял цель тайпскрипта,...

TS помогает лучше где-то ловить ошибки на этапе статик анализа и лучше понимать код. Но где-то ухудшает его читаемость, особенно с многоуровневыми описаниями типов в библиотечном коде, а где-то заставляет пистаь иначе, потому что не удалось его победить и заставляет больше страдать с инструментами и IDE, если речь про ноду

Kvhqm Mboe
Что значит ок? Я правильно понял цель тайпскрипта,...

Так а дискуссия не о цели тайпскрипта была

¿Сергей?
ТС нужен для: 1. Документация своего кода, чтобы п...

3 пункт - сложный вопрос, проблем в IDE он приносит скорее больше

Алексей Попов
Так а дискуссия не о цели тайпскрипта была

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

Алексей Попов
В каком виде?

enum Example { First = 'first' } транспилируется в var Example ;(function(Example) { Example["First"] = "first" })(Example || (Example = {}))

Aleksandr Vyatkin
enum Example { First = 'first' } транспилируется...

Я бы сказал, что остаётся не тс, а поведение, которое он в данном случае реализовал. И всё равно похоже что мы можем исхитриться и нарушить инвариант

Алексей Попов
Я бы сказал, что остаётся не тс, а поведение, кото...

да я вообще бы enum-ы тайпскриптовые запретил, всю концепцию портят..

Денис- Автор вопроса

Ты не туда воюешь)

Денис
Ты не туда воюешь)

А мы тут и не воюем

Денис- Автор вопроса
Kvhqm Mboe
А мы тут и не воюем

а тебя и не спрашивали)

Денис- Автор вопроса
Kvhqm Mboe
А кого спрашивали?

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

Денис
ты можешь задать этот вопрос к себе, что бы понять...

Посмотри наверх, и увидишь что это я начал беседу

Денис- Автор вопроса
Денис
Окей, и какой там был посыл?

Там было обсуждение тайпскрипта, скажи лучше какой посыл твоего вопроса?

Денис- Автор вопроса
Feanorx
Почему не туда?

а почему туда?)

Похожие вопросы

Обсуждают сегодня

читать файл максимально быстро? странный вопрос))
zamtmn
52
всем привет! углубившись в плюсы и начав изучать реверсинг понял, что без асм'а никуда со своими высокоабстрактными представлениями начал изучать механизмы асма, и не совсем п...
9
буквально один оставшийся вопрос при выполнении строчки mov eax, 5 операнд "5" будет присутствовать где-либо в памяти (любой), кроме как в памяти блока .code? подвопрос: как...
12
Всем ку. Подскажите, если задекларировал массив так: int arr[10] = {1, 2, 3, 4}, то в arr[4] будет мусор или нуль?
Sasha K
14
я не понимаю mov [r11+8],rcx и прочие. мы записываем значение из rcx, куда?
Bor
15
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
у меня такой вопрос про память в x86 возник, может кто пояснить?.. у процессора есть (как минимум) 3 типа адресов (названия "п1", "п2", "п3" --- мои, чтобы проще было дальше)...
Toideng
5
А какие расширения активно используются в промышленности? Именно идейные, по типу гадт, а не всякие оверлоадедстрингс
Степан
11
у процессора есть (как минимум) 3 типа адресов (названия "п1", "п2", "п3" --- мои, чтобы проще было дальше): - "п1" --- виртуальный адрес, то есть тот, который ресолвится в "п...
Toideng
3
Guys Who’s kurdish on this group?
Hiwa Amiri
11
Карта сайта