Maksim
Anonymous
Парсинг javascript кода это не рантайм javascript. Если под рантаймом с натяжкой иметь ввиду сам браузер, что он дескать запущен и только в консоль может что-то писать, то как бы да. Как и сейчас, я могу написать
x = o o o o o
и браузер справедливо скажет, парень это не js код, тут ошибка синтаксиса
Anonymous
Костя
Anonymous
Что именно вообще смущает?
Anonymous
Костя
и все встанет на место
Anonymous
Это ничем не отличается от ошибок синтаксиса
Ошибка синтаксиса упадет на стадии парсинга, а ошибка рантайма - тогда, когда она случится в динамике
Maksim
Так, и?
то что в случае с js проверка будет происходить не у разработчика (ну и у него тоже) а в рантайме у конечного пользователя
Дима
ЯСНО
Дима
Закругляемся
Anonymous
Anonymous
Но тем не менее ошибки синтаксиса НЕ ошибки рантайма JS
Anonymous
Это рантайм браузера а не JS
Костя
я так понимаю речь о том, что ты не узнаешь об ошибке, пока не задеплоишься, но для этого есть jslint
Anonymous
Anonymous
Но jslint (eslint) конечно правильнее
Костя
с сопоставлением типов он, наверняка, справится)
Костя
ну, это то же самое, что пытаться сишный файл редактировать в огромном проекте без проверки того, что проект компилится
Anonymous
Anonymous
момент истины
Maksim
Anonymous
Ты издеваешься сейчас или серьезно?
Maksim
у тебя есть текстовый файл со скриптом, пока браузер не начнет его исполнять никто об ошибке синтаксиса не узнает
Anonymous
Ну окей, ты можешь называть ошибки синтаксиса ошибками рантайма JS, но это все равно не меняет ситуацию с статической типизацией
как сейчас обрабатываются ошибки синтаксиса, так и будут обрабатываться ошибки типов
Maksim
а исполнение браузером это уже рантайм
Anonymous
Anonymous
Рантайм браузера
Anonymous
Не рантайм JS :)
Maksim
Рантайм браузера
с чего вдруг, может у меня v8 отдельно? или нода, какой вообще рантайм браузера
Anonymous
Anonymous
все не рантайм js кроме рантайма js
Anonymous
и рантайм js наступает только после парсинга javascript кода
Maksim
демагогией занимаешься
Anonymous
нет
Anonymous
Ты делаешь подмену понятий
Anonymous
Изначально ты задал вопрос как комитет сможет сделать типы в языке, и тебе исчерпывающе ответили, что так же как и сейчас работает проверка синтаксиса, на том же уровне
Anonymous
И эти типы не будут динамическими, потому что нельзя будет на ходу менять тип переменной
Maksim
Anonymous
Рантаймные - да
Anonymous
динамические
Maksim
я спрашивал про статику
Anonymous
это не те типы о которых мы говорим
Anonymous
Anonymous
Тебе нужно понять разницу между стадией подготовки кода к запуску и той стадией когда код непосредственно исполняется
Anonymous
Типы, которые можно задавать и менять на стадии исполнения - динамические, они сейчас есть
Anonymous
Те типы которые можно задать на стадии до исполнения - статические, и их в стандарте еще нет
Костя
речь о том, что если ты в именах переменных ошибешься, то это обнаружится только в рантайме, а сопоставить типы можно на этапе проверки кода без его выполнения
Maksim
проехали, мне уже не интересно
Anonymous
Рантаймом называют только стадию когда запускается код
Maksim
слишком долго
Anonymous
Anonymous
это действительно ошибка рантайма, что переменной с таким именем сейчас нет в global
Костя
ну я о том и говорю)
Anonymous
ну там сыр бор пошел когда я сказал что комитет введет типы в синтаксис
Anonymous
типа как он сможет
Anonymous
да легко)
Maksim
у кого есть айфон 7?)
Костя
но есть все же проблема
Костя
все новое, что появляется, можно не использовать
Костя
и тогда никакой транспайлер не нужен
Anonymous
так так?
Maksim
ввести может и введет, только ни flow ни ts это и близко не станет
Костя
а с типами как это будет работать
Anonymous
Костя
типа, хошь используй, не хошь - ну и хрен с тобой?
Maksim
Есть у кого предположения почему этот проклятый адрес бар прыгает?
Айфон 7, хром
Anonymous
Anonymous
Их можно не указывать, тогда будет обычный js
Anonymous
обратная совместимость, вот это все
Костя
потому что в рантайме их и так нет
Костя
код транспилится в обычный жс без типов энивей
Дима
Типы — это симулякр