TypeScript vs ES6
TypeScript vs ES6 как думаете что лучше выбрать ? и если можно аргументировано спасибо !
|
На первом (ts) писал сравнительно недолго (~неделю), на "втором" пишу четвертый месяц (es6).
Лично я считаю, что es вырастет в ts в ближайшие годы. Тенденции к этому уже есть: типизированные массивы в es6, генераторы, синтаксис классов и т.п. Как только большую часть из того, что есть в ts заимплементят в es, нужда в первом (ts) отпадет. А пока он нужен для проверки типов :) |
На TS не пишу просто из-за того, что есть ES6. Осталось дождаться типов(думаю, Babel не заставит долго ждать) и всё.
|
TS очень классный язык и идёт по правильному пути, в конечном счёте лучшие его черты заимплементятся в ES7-8, также как CoffeeScript в ES6.
TS играет сейчас важную роль, т.к. это язык на котором пишут, обкатывают модель типов и т.д., чтобы потом заимплементить в ES. |
Цитата:
Цитата:
|
kobezzza,
Цитата:
|
всем спасибо решил изучать ES6 , дайте ссылку на документацию (google не помог) желательно на русском )
|
caetus,
на русском пока нету. https://github.com/lukehoban/es6features Там простые примеры, думаю, и без английского по коду можно понять большинство изложенных фич. |
спасибо =)
|
А вот мне очень нравится тайпскрипт. Интерфейсы позволяют делать наброски модулей без реализации что очень удобно как при разработке через TDD, так и просто при написании тестов и помогает при построении архитектуры модуля/проекта. Также объявление приватных и публичных методов через private/public и наследование классов вместе со статикой, все это очень удобно.
И ещё очень важная штука в том, что код одинаково работает как в js так и в ноде, просто переключением флага компилятора. |
Предлагаю переместить тему в офффтопик
В данный момент всерьез подумываю о переходе с es6 на TypeScript. Уже ловлю себя на том, что использую самописные функции для строгой типизации :) Ниже перечислю ключевые (для меня) моменты https://github.com/Microsoft/TypeScript/wiki/What's-new-in-TypeScript#typescript-17 фичи >=1.7 - async/await - модификаторы public / private - интерфейсы - абстрактрые классы - статическая типизация - модули es6 - декораторы Вопрос к тем, кто уже использует TS. Правильно понимаю, что это все там есть и нормально работает? |
за исключением async/await все есть и работает.
Дерораторы очень удобны, могут быть использованы как для метода так и для класса в целом. Есть tslint, в котором можно очень гибко настроить коде стайл команды, вплоть до очередности статических/приватных методов в классе. Так же можно настроить чтобы нельзя было не указывать типы переменных/возвращаемых методами значений. Все это позволяет добавить строгости, заставить команду соблюдать общий code-style. Самое главное на мой взгляд это рефактор при полном указании типов, при рефакторе js кода и не полном покрытии unit тестами можно пропустить ошибку забыв внести изменения в зависимые файлы, с typescript такого быть не может, в связи с тем что ошибка будет указана на этапе компиляции кода. Ну и генератор документации по typescript коду тоже очень хорошо работает, ведь в ts 80% документации берется прямо из кода, в то время как писать jsDoc и поддерживать его в должном состоянии js нас не обязывает. |
Цитата:
Раз уж делают JS строже, так и для код-стайла строгий стандарт бы ввели без всяких настроек :) А по TypeScript - когда миксины сделают, так цены ему не будет ) |
vasa_c,
Отсутствие миксинов ни разу не мешает. Да и линтер настраивает не каждый сам себе, а 1 раз на проект и вся команда. |
Цитата:
|
|
Цитата:
|
Смысл в том, что не всегда нужно спрашивать комьюнити. Ведь на спорные вопросы оно не даст однозначного ответа. Поэтому вы можете или стать частью комьюнити, выбрав одну из сторон или вечно маяться сложными и неоднозначными вопросами :)
|
Часовой пояс GMT +3, время: 16:20. |