Форум программистов, компьютерный форум, киберфорум
TypeScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
 Аватар для skilllab
296 / 236 / 58
Регистрация: 03.02.2011
Сообщений: 2,045
Записей в блоге: 1

Старт с TS, а не с JS

08.01.2025, 18:18. Показов 1477. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток.
Решил расширить свои познания, так сказать. С JS знаком на уровне 3 строчки кода на статичной страничке скопипастенные с оверфлоу)))
Сам программист на C#.
Сижу читаю "Изучаем TypeScript 3 | Розенталс Натан" и в принципе, всё понятно что к чему. К практике перейду после.
Но вот возник вопрос, TS весь переводится в JS, и там, в конце, уже много может возникнуть нюансов. Не знаю, важны они или нет (то что было интерпретировано из TS в JS). Вопрос вот в чём: дочитав до конца книжечку стоит ли вообще тыкаться в JS? Изучаю для себя, т.е. становиться сеньёром TS/JS точно не собираюсь в ближайшую перспективу.

Добавлено через 1 минуту
Перевернуть обучение точно не планирую (JS -> TS). Дочитаю таки TS и потыкаю какой-нибудь пет.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.01.2025, 18:18
Ответы с готовыми решениями:

Срок службы месторождений нефти Саудовской Аравии старт с 1950-х годов и газа России старт с 1960-х годов
Срок службы месторождений нефти Саудовской Аравии старт промышленной добычи с 1950-х годов и природного газа России старт промышленной...

Создайте кнопки для выбора двух цветов и кнопку Старт. После нажатия кнопки Старт надпись должна мигать выбранными цвет
Создайте кнопки для выбора двух цветов и кнопку Старт. После нажатия кнопки Старт надпись должна мигать выбранными цветами.

Старт в 1с
Всем добрый день! Есть желание стартовать в профессию 1с. Администрирование/программирование - неважно. Цель: получить возможность...

19
 Аватар для voraa
1222 / 1109 / 173
Регистрация: 21.01.2024
Сообщений: 5,087
08.01.2025, 18:25
Учить то можно и ts, но писать то все равно на js.
В ts только типизация. Все остальное js. Все операторы, классы, прототипы, все методы - строк, массивов, все api - все это js. И все это используется.

Добавлено через 55 секунд
Цитата Сообщение от skilllab Посмотреть сообщение
Но вот возник вопрос, TS весь переводится в JS,
Да ничего он особо не переводит. Только информацию о типах убирает.
0
 Аватар для skilllab
296 / 236 / 58
Регистрация: 03.02.2011
Сообщений: 2,045
Записей в блоге: 1
08.01.2025, 18:46  [ТС]
Дык, собственно, эта "типизация" и подкупила))
До этой книги вообще ничего не знал про JS. И, читая, осознаётся мысль, что этим TS сузили, по сути, язык с одной стороны и ввели правила хорошего программирования - с другой.
0
352 / 315 / 83
Регистрация: 17.04.2022
Сообщений: 1,031
Записей в блоге: 8
08.01.2025, 19:45
Цитата Сообщение от skilllab Посмотреть сообщение
Перевернуть обучение точно не планирую (JS -> TS).
Использование TS позволит вам избежать множества ошибок, которые при использовании чистого JS вылезают только при исполнении
0
 Аватар для skilllab
296 / 236 / 58
Регистрация: 03.02.2011
Сообщений: 2,045
Записей в блоге: 1
08.01.2025, 20:00  [ТС]
Цитата Сообщение от sqltd1 Посмотреть сообщение
позволит вам избежать
А в этом то и вопрос - а стоит ли их избегать прям с нуля изучая тему? Ведь научившись писать типизированно, и уже просматривая код на JS, можно просто не понять "зачем оно так", когда "надо было так". Ну, я к чему, я всё никак не возьму в толк )))
Вот есть, к примеру, C# который потом интерпретируется в IL. Для нормального обычного программиста этот IL нужен чисто в теории и для общего развития (да и то если уж очень хочется в дебри или же начитавшись Рихтера захотелось познать глубину глубин и вырасти).
Вот с JS... могу ли я вообще не заглядывать что там сотворил "tsc" в жава коде (т.е. не контролировать и не дописывать туда что-то)? Ну, то есть, писать чисто на TS?
А с другой стороны, прочитав чужой код на JS, я ж со своим TS туда не полезу (не влезу). Получается круг сузился только для проектов на TS. Верно?

Добавлено через 1 минуту
Блин, получается что TS это как "фреймворк". Обёртка, но не язык. И есть смысл его изучать разве что под проекты или для расширения уже владением JS. Угу?
0
 Аватар для voraa
1222 / 1109 / 173
Регистрация: 21.01.2024
Сообщений: 5,087
08.01.2025, 20:16
Цитата Сообщение от skilllab Посмотреть сообщение
Вот с JS... могу ли я вообще не заглядывать что там сотворил "tsc" в жава коде
Он ничего не сотворит. Сначала проверит все ли с типами хорошо, потом, если все хорошо, просто уберет информацию о типах. js (описание переменных, функций, операторы, вызовы функций) останутся без изменений.

Добавлено через 5 минут
Цитата Сообщение от sqltd1 Посмотреть сообщение
Использование TS позволит вам избежать множества ошибок
Ну про множество, я бы не говорил.
При работе в Vsc можно и для обычного js выполнять много проверок типизации.
0
 Аватар для skilllab
296 / 236 / 58
Регистрация: 03.02.2011
Сообщений: 2,045
Записей в блоге: 1
08.01.2025, 20:26  [ТС]
Цитата Сообщение от voraa Посмотреть сообщение
просто уберет информацию о типах
Ну, преобразовав так хорошо знакомый мне enum в замыкание - я думаю это не просто убрать информацию о типе, это уже преобразование. И встретив такое без подготовки)) в JS я бы точно затупил.
0
 Аватар для voraa
1222 / 1109 / 173
Регистрация: 21.01.2024
Сообщений: 5,087
08.01.2025, 20:39
Цитата Сообщение от skilllab Посмотреть сообщение
Ну, преобразовав так хорошо знакомый мне enum в замыкание - я думаю это не просто убрать информацию о типе,
Там многое зависит от флагов компиляции и задания const для enum
https://habr.com/ru/companies/... es/770974/
0
Эксперт JSЭксперт HTML/CSS
 Аватар для krvsa
3800 / 1630 / 428
Регистрация: 14.03.2022
Сообщений: 4,064
08.01.2025, 20:52
Цитата Сообщение от sqltd1 Посмотреть сообщение
Использование TS позволит вам избежать множества ошибок
И наделать еще больше...

Добавлено через 3 минуты
Цитата Сообщение от skilllab Посмотреть сообщение
Изучаем TypeScript 3
Сейчас ведь уже 5-тый... Смысл изучать старое, если уже есть более новое?

Добавлено через 1 минуту
Цитата Сообщение от skilllab Посмотреть сообщение
прочитав чужой код на JS, я ж со своим TS туда не полезу (не влезу)
Авторы утверждают что можно практически любой файл JS начать преобразовывать в TS.

Добавлено через 1 минуту
P.S.
Просто я сейчас так же читаю учебники по TS... Но абсолютно уверен что следопут, который куролесит в JS - на TS накуролесит куда больше!
0
 Аватар для voraa
1222 / 1109 / 173
Регистрация: 21.01.2024
Сообщений: 5,087
08.01.2025, 20:59
Цитата Сообщение от krvsa Посмотреть сообщение
Авторы утверждают что можно практически любой файл JS начать преобразовывать в TS.
Ну да.
Берешь файл js. Переименовываешь в ts. Открываешь в VSC и всему и везде, где он красным подчеркнул назначаешь типы. Если некогда придумывать тип, ставишь (пока) any.

Добавлено через 3 минуты
Можно просто в начале файла поставить
//@ts-check
И vsc начнет проверять js с учетом типов.
0
Эксперт JSЭксперт HTML/CSS
 Аватар для krvsa
3800 / 1630 / 428
Регистрация: 14.03.2022
Сообщений: 4,064
08.01.2025, 21:07
Цитата Сообщение от voraa Посмотреть сообщение
Он ничего не сотворит. Сначала проверит все ли с типами хорошо, потом, если все хорошо, просто уберет информацию о типах.
Авторы пишут о более бОльших преобразованиях...
Для примера предоставляется онлайн компилятор - там показывается все, что может сделать компилятор TS->JS
https://www.typescriptlang.org/play

Именно его так же советовали в одном из учебников по TS.

Добавлено через 3 минуты
voraa, это если совсем фантазии нет...
Но начать можно и с этого. А свою часть кода уже писать на TS.

От себя еще раз повторюсь...
TS не помогает изучать JS. Он только усложняет работу программиста. Это если все делать как нужно именно TS.
Если тяп-ляп и по минималке - это только начало TS.
0
 Аватар для voraa
1222 / 1109 / 173
Регистрация: 21.01.2024
Сообщений: 5,087
08.01.2025, 21:21
Цитата Сообщение от krvsa Посмотреть сообщение
Но начать можно и с этого. А свою часть кода уже писать на TS.
Мне вполне jsdoc хватает.
У нас не используют ts. А комментарии в js никого не волнуют и все равно трутся при минификации.
Но кодить, видя что какого типа - легче.
Просто навел курсор на переменную, видишь какого она типа или какие параметры у функции.
Писанины конечно больше, но она помогает.

Добавлено через 1 минуту
Цитата Сообщение от krvsa Посмотреть сообщение
Авторы пишут о более бОльших преобразованиях...
Примерчик бы, где они производятся.
0
Эксперт JSЭксперт HTML/CSS
 Аватар для krvsa
3800 / 1630 / 428
Регистрация: 14.03.2022
Сообщений: 4,064
08.01.2025, 21:38
Цитата Сообщение от voraa Посмотреть сообщение
Примерчик бы, где они производятся.
Так в учебниках приводятся разные примеры кода на JS... Потом переделываются на TS. После переделки просят обратить внимание на то, какой код на JS получился.

Цитата Сообщение от voraa Посмотреть сообщение
У нас не используют ts.
Я так же его не продвигаю пока у нас в конторе. Но решил подковаться, поскольку много чего в документациях уже пишут исключительно на TS и нужно четко понимать чего это они там наваяли.

Цитата Сообщение от voraa Посмотреть сообщение
Но кодить, видя что какого типа - легче.
Я продвигаю максимальную деструктуризацию кода на JS... Т.о. все наши файлы представляют собой одну функцию, которая максимально проста. Имеет описательный комментарий о себе и своих входных данных.
При таком подходе все типы переменных и так понятны.
0
 Аватар для voraa
1222 / 1109 / 173
Регистрация: 21.01.2024
Сообщений: 5,087
08.01.2025, 22:01
Цитата Сообщение от krvsa Посмотреть сообщение
При таком подходе все типы переменных и так понятны.
Да всякое бывает
Написал когда то где то в начале
JavaScript
1
const sections = document.querySelector('section');
Потом где то внизу хочешь написать
JavaScript
1
const secIds = sections.map (sec => sec.id);
А vsc сразу "фиг тебе. нельзя!"
Пиши
JavaScript
1
const secIds = [...sections].map (sec => sec.id);
0
 Аватар для skilllab
296 / 236 / 58
Регистрация: 03.02.2011
Сообщений: 2,045
Записей в блоге: 1
08.01.2025, 22:05  [ТС]
Цитата Сообщение от voraa Посмотреть сообщение
У нас не используют
Цитата Сообщение от krvsa Посмотреть сообщение
не продвигаю пока
Ну вы то уже взрослые дядьки, а я с нуля. Так что, всё же бросать на полку TS и начать читать JS?
0
 Аватар для voraa
1222 / 1109 / 173
Регистрация: 21.01.2024
Сообщений: 5,087
08.01.2025, 22:08
Цитата Сообщение от skilllab Посмотреть сообщение
Так что, всё же бросать на полку TS и начать читать JS?
Можно параллельно.
Но без хорошего знания js все равно на ts ничего не напишешь js - >95% в любом коде на ts.
Я особо не читал учебников по ts. Только документацию, ну с примерами.
Но вряд ли в этих учебниках объясняются базовые понятия и принципы js. Подразумевается, что человек их и так знает.
А там не мало тонких моментов.
1
Молодой техлид)
Эксперт JSЭксперт HTML/CSS
 Аватар для mr_dramm
1818 / 1056 / 329
Регистрация: 17.07.2021
Сообщений: 2,146
Записей в блоге: 14
08.01.2025, 23:28
Цитата Сообщение от voraa Посмотреть сообщение
Да ничего он особо не переводит. Только информацию о типах убирает.
Уважаемый voraa, в tsconfig можно выбрать в какой стандарт будет транслироваться js

Code
1
2
3
4
5
{
  "compilerOptions": {
    "target": "стандарт"
  }
}
0
Эксперт JSЭксперт HTML/CSS
 Аватар для krvsa
3800 / 1630 / 428
Регистрация: 14.03.2022
Сообщений: 4,064
09.01.2025, 09:05
Цитата Сообщение от skilllab Посмотреть сообщение
Так что, всё же бросать на полку TS и начать читать JS?
Сам JS практически бездонный... А с TS тебе будет еще сложнее.
Вот и считай... (с)

Добавлено через 47 секунд
Цитата Сообщение от voraa Посмотреть сообщение
Но вряд ли в этих учебниках объясняются базовые понятия и принципы js.
На уровне "для начинающих"...

Добавлено через 2 минуты
Цитата Сообщение от mr_dramm Посмотреть сообщение
в tsconfig можно выбрать в какой стандарт будет транслироваться js
Я вообще не рассматривал старые версии JS.
Но даже в самых последних версиях TS и JS - TS может оставлять "заметный след" в итоговом коде.

Добавлено через 9 минут
Цитата Сообщение от voraa Посмотреть сообщение
Да всякое бывает
Написал когда то где то в начале
Одно время довольно активно использовал т.н. "венгерскую запись" имен переменных - т.о. никаких проблем с пониманием "типа переменной" не возникало.
Да и сейчас использую, привык уже...
0
 Аватар для voraa
1222 / 1109 / 173
Регистрация: 21.01.2024
Сообщений: 5,087
09.01.2025, 09:34
Цитата Сообщение от krvsa Посмотреть сообщение
Одно время довольно активно использовал т.н. "венгерскую запись" имен переменных - т.о. никаких проблем с пониманием "типа переменной" не возникало.
В Js (не столько сам js, сколько всякие API) c точки зрения ts очень много разных типов.
Фиг поймешь, какой именно тип они возвращают. Букоф в венгерской нотации не хватит.
Например.
Какого типа будет c?
JavaScript
1
const c = elem.children;
Правильно! NodeListOf<ChildNode>
JavaScript
1
let c0 = c[0];
А с0 - будет ChildNode (а не просто Node). И какой-нибудь Node в него уже не запишешь.
Типа
JavaScript
1
c0 = elem1.cloneNode(true);
Будет ругань, что типы не совместимы
0
Эксперт JSЭксперт HTML/CSS
 Аватар для krvsa
3800 / 1630 / 428
Регистрация: 14.03.2022
Сообщений: 4,064
09.01.2025, 10:40
Цитата Сообщение от voraa Посмотреть сообщение
Букоф в венгерской нотации не хватит.
Как правило все оговаривается по мере написания некоего приложения...
Да лее группа разработчиков придерживается оговоренной стратегии наименования переменных.
От приложения к приложению могут быть свои особенности в наименованиях... Но формируется некая "единая линия" или "костяк", который используется в любом приложении.

Добавь к этому максимальную деструктуризацию, комментирование функций - в итоге вопросов с типизацией у нас не возникало.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.01.2025, 10:40
Помогаю со студенческими работами здесь

Старт
Стартовал к Луне ровно в два, сразу после обеда. Похоже, простудился в лунной тени – все время чихаю. Принял аспирин. По курсу – три...

старт
что-то не могу понять Всем привет! Коллеги подскажите - набросал простецкое wpf браузерное приложение, сделал Publish если...

Быстрый старт в QT
Нужно делать лабораторные с визуальным интерфейсом, буду использовать только эти комоненты: Edit, Button, Label, DataGriedView и...

Первый старт.
Прошу помочь. Писал раньше на С# , PHP. Щас перехожу на С++ и есть несколько вопросов. Я собираюсь писать игры с использованием API...

старт с BSD
привет, браты товарищи. Буду ставить bsd, почитал информацию о семействе. Склоняюсь к netBSD, причина - более широкая поддержка железа...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru