Я в курсе что TypScript компилируется в JavaScript. Но это потому что браузер не понимает TypeScript, так? Здесь возникает вопрос: Если я использую TypScript только для бекенда?(в Nest Js) потом мне все равно придется компилировать его в JavaScript? Код же работает только на серверах(на NodeJs). Тогда суть TypScriptа в чем? Я понимаю что при разработке Строгая типизация помогает очень хорошо но в JavaScriptе строг.типизация после буилда, все равно не работает же? Javascript могут вычислят ариф.операции не правильно, хотя в TypScriptе перед буилдом работало правильно. Объясните пожалуйста, может я не понимаю что-то? или чего-то пропустил?
Asked
Active
Viewed 637 times
0
-
1Нельзя использовать TypeScript в node js, потому что node js работает на V8 - интерпретаторе JavaScript. – kertAW Dec 07 '20 at 12:58
-
@Voprositel а Deno? – Дилик Пулатов Dec 07 '20 at 13:00
-
1Не могу точно сказать, но думаю, что также компилируется в JavaScript, тк v8 – kertAW Dec 07 '20 at 13:10
-
Deno точно так же использует V8. Просто комилятор ts -> js встроен прямо в Deno. – Alexey Ten Dec 07 '20 at 13:54
-
@AlexeyTen Понял. Спасибо – Дилик Пулатов Dec 07 '20 at 19:41
-
Можно вместо nodejs использовать deno https://deno.land/ – Alexei Cheban Nov 18 '21 at 12:27
1 Answers
1
Node.js работает на v8 - движке chrome, следовательно может распознавать ts только после компиляции в js. TypeScript используется для удобства программирования и избежания ошибок, связанных с типизацией, которые в обычном js очень сложно отследить, особенно в крупных проектах. Для использования ts в node.js необходим пакет typescript, который компилирует ts в js.
T0xee.n17
- 824
-
Я хотел написать бекенд на TypScriptе/Javascript , но из-за проблема типизации в Javascript, у меня все равно не получается? – Дилик Пулатов Dec 07 '20 at 13:07
-
@ДиликПулатов, вы можете писать на TypeScript, а он будет незаметно для вас транспилиться в JavaScript, на работу приложения это влиять не будет. – kertAW Dec 07 '20 at 13:08
-
1
-
T0hich71 Проблема в том что в Javascript есть проблема с вычислении в ариф.операции. Такое было в фронте, Не правильно считала общую сумму заказа. Допустим есть amount = 1251.09. amount * 100 = 125108.99999999999 такой результат дает Javascript, хотя разработка было в TypScriptе – Дилик Пулатов Dec 07 '20 at 13:15
-
Я так и не понял, как ваш вопрос связан с проблемой. При чём тут ts? Вас интересует конкретная проблема или всё же рассуждения на тему "зачем нужен ts"? – T0xee.n17 Dec 07 '20 at 13:20
-
@ДиликПулатов такой ответ даст любой ЯП использующий операции с плавающей точкой соответствующие стандарту IEEE754 https://ru.stackoverflow.com/a/417454/190728 Т.е. практически любой ЯП – Alexey Ten Dec 07 '20 at 13:52
-
@AlexeyTen Вот как...а то я думал, почему в ТС все работало отлично...а в жс нет. Попробую почитать об этом. Спасибо – Дилик Пулатов Dec 07 '20 at 19:37
-
@T0hich71 Вопрос именно в этом: Зачем нужно TS, если она все равно компилируется в JS и при этом в JS проблемы с ариф.операции не решается? – Дилик Пулатов Dec 07 '20 at 19:40
-
-
1
-
-