Написание довольно много C # на работе, язык очень похож на то, что я привык
Это один момент о Дарт. Javascript считается неловким языком с несколькими общими идиомами. В языке, подобном Java, часто существует естественный способ решения проблемы. Например, если вы ведете инвентаризацию таблицы, в Java или C # вы создадите класс Table.
Javascript не имеет классов, вы можете захотеть использовать прототипы, но они чувствуют себя неловко и не предоставляют такой сильной структуры и инструментов инкапсуляции. (По крайней мере, не делая никаких трюков.) Наследование, композиция и т. Д. Неудобны с прототипами Javascript. Вот почему большинство людей используют простые хэш-карты для хранения данных. Или они используют сторонние библиотеки, такие как прототип, который дает вам классный опыт.
Так что удобство - это одно, а структура - другое. Javascript просто плохо масштабируется, потому что не существует стандартного способа структурирования крупномасштабных приложений. Однако в настоящее время такие сторонние библиотеки становятся действительно популярными. (Например, backbone.js)
Дарт это что-то, чтобы решить это. Он создан для того, чтобы дать вам структурное удобство Java и, кроме того, в нем нет всех этих неуклюжих функций JS. (Большинство из них связано со слабой типизацией.)
Так что ответ да: классы, наследование, ...: "традиционный ООП". (Большинство реальных веб-приложений JS там используют основанный на обратном вызове jQuery в качестве основной структуры.) И он имеет свободную форму статической типизации, однако это не ключевой момент продажи.
Кстати: вы можете прочитать эту «внутреннюю» рассылку Google от 2010 года: будущее Javascript
У Javascript есть фундаментальные недостатки, которые нельзя исправить простым развитием языка. Мы примем двунаправленную стратегию для будущего Javascript ... Разработайте новый язык (называемый Dash), который нацелен на поддержание динамической природы Javascript, но имеет лучший профиль производительности и поддается инструментам для больших проектов. ,