Сергей Протько: так как у меня была подобная проблема, то лучшим советом будут пожелать быстрее принять то, что закрытости в js нет. Даже в ts писать приват, уже стремно, так как конвенции заставляют объявлять свойства с _подчеркивания, а это только путает и выглядит не красиво. По этому я только если и пишу, то protected, чтобы внешне в скомпилированном коде не вызывало дискомфорт, а в ide они не светились в композиционных объектах.
Да и вообще писать закрытые свойства это только если разрабатываешь игры и пытаешься помешать читерам, которые и байты если будет нужно достанут и перепишут что им нужно, а в реальности только тестированию могут помешать. Да и в правильном коде даже мест нет для закрытости, в этом я убеждаюсь все больше и больше. А сам когда-то точно такие жу вопросы задавал.
разницы-то нет. Это просто Вы в первом варианте стремно делали и Вам казалось что нормально.
Вы пытаетесь неправильно использовать язык имитируя какой-то другой. Здесь нет инкапсуляции, но она и не нужна, ведь если Вы такой правильный и знаете слово ооп, то должны помнить что программировать нужно на имплементациях, которые в свою очередь не поддерживают закрытости, как таковой. Вот и js так же, все что Вы делаете, это имплементации.
Ну ведь нужно использовать commonjs модули и все будет так же как и в ноде. namespace не совсем понятно для чего нужны, ведь если есть капелька разума, то будешь писать с commonjs модулями до тех пор, пока в самой ноде от них не откажутся.
WEBIVAN: для того чтобы писать на .jsx, да, нужен компилятор. Тот же babel может компилировать его в чистый .js и из этого следует что примеры с Babel годятся лишь для кода компилируемого Babel. Ну а ide... Лично я считаю что js код необходимо писать в продуктах jetbrains, все остальное чисто для "быстреньких примерчиков" которые делают для видеоуроков.
Не совсем понятно, но jsx это лишь синтаксис, как например coffee, который компилируется в js.
Для примера ниже код .jsx ещё ниже .js ReactDOM.render(<div></div>)
Владислав Безенсон: я не так прочитал Ваш комментарий.. Вы сделайте три таска - в первом es6, во втором что-то ещё, а третий с конкатенацией выполняйте только после завершения двух предыдущих.
Артём Петренков: и честно сказать, я лучше буду писать на примитивном Handlebars, при этом используя самые актуальные стили, вместо того чтобы писать на самых современных spa фраймворках, которые на два шага позади по стилям. Пользователя не интересует на чем сделан сайт, его интересует скорость и интерфейс.
Артём Петренков: на самом деле это не глупые вопросы. Например самые последние темы для bootstrap3 имеют не стандартную js логику осуществляемую с помощью jQ. И получается что либо мне нужно целый framework переписать на angularjs или reatcjs, либо использовать позавчерашние темы.
Артём Петренков: Вы хотите чтобы я объяснил при чем тут es6... Я никогда не работал с реактом без es6 это одна из причин по которой я его отбросил (и чтобы у Вас не возникло ещё вопросов, то скажу что это ответ и на первый Ваш вопрос. (Вам не кажется глупым задавать вопросы тем, кто спрашивает?))
Артём Петренков: Вы правильно заметили - стилей! Без кастомных директив-компонентов они не будут работать. И я никогда не работал с реактом без es6. Возможно работать с ним без es6, но с jsx без компиляции?