Re[7]: JavaScript (точнее front-end) в 2018 году...
От: andini  
Дата: 31.10.18 21:28
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Здравствуйте, andini, Вы писали:


A>>Есть. Есть. И еще раз есть.


S>Ну так вы обратили внимание, что там специальная конструкция введена


Не важно, что там внедрено. Следующее твое заявления является ложью:

И даже в этом случае в шаблоне нет логики.


S>>>А вот Реакт:

S>>>Отсюда: https://www.tutorialspoint.com/reactjs/reactjs_forms.htm

A>>Что тебе мешало пойти на сайт реакта и почитать про него хоть что-нибудь? Документация у них лучше большинства туториалов и развеивает многие заблуждения.


S>А что там иначе написано? Вот, все та же помесь HTML и JS:


Код поскипан. Ты не прочитал, что написано по ссылке, от слова совсем.



S>Я немало (несколько лет) работал в Web-е еще до того как там появились эти ангуляры и React-ы. Немного (недели 2) работал с Angular на небольшом приложении.


S>Зачем отрицать очевидное — как ты не назови — это сместь JS и HTML. Т.е. в шблоне у вас куски кода.


Это ты про ангуляр. Не про реакт.

Так как ты не понял, что написано по ссылке, перевожу. Медленно и один раз.

JSX — это тончайший HTML-подобный DSL, который напрямую транслируется в вызовы функций. Там нет ни куска HTML'я. При желании JSX можно не использовать воообще, и ничего не изменится.В ангуляре такое невозможно. Я надесюь ты знаешь, что такое DSL.

То есть:

<div className="class">text</a>


это просто более лаконичный способ записи следующего кода

React.createElement('div', {className: "class"}, ["text"]);


Эти два куска кода идентичны. Более того, второй кусок кода это то, во что транслируется JSX при транспиляции Babel'ем. Именно потому что JSX — это тончайший DSL для вызова функций, в нем и вокруг него работает все, что есть в JS: variable scope, функции, циклы и прочее. Потому что там нет HTML'я (строки). Там есть Javascript.

В отличие от ангуляра, который имеет:

— HTML-подобный шаблон в виде строки
— со специальными маркерами для интерполяции некоторого ограниченного набора JS {{}}
— со специальными маркерами для байндинга свойств []
— со специальными маркерами для байндинга событий (), которые позволяют написать некоторый ограниченный набор JS-подобных конструкций (например: (input)="currentHero.name=$event.target.value" — все смешалось в доме облонских)
— со специальными конструкциями для логики ngFor, ngIf, ngSwitch, каждый из которых дополнительно имеют свои полускриптовые куски (например: <div *ngFor="let hero of heroes" [hero]="hero">)

Но да, но да. "Ангуляр более правильный, ведь он ничего не смешивает, я это знаю, потому что когда-то что-то писал для веба, а с ангуляром работа целых две недели, а среактом не работал никогда НО МНЕНИЕ ИМЕЮ".
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.