Здравствуйте, Alekzander, Вы писали:
A>И что там синтакс-чекнула среда?
Ну я имел в виду, среда разработки (IDE)
bnk>>Также, что там насчет автокомплита? Что я могу написать после .prop('
A>Во-первых. У динамических языков нет никакого автокомплита. Есть фантазии отдельных разрабов отдельных IDE о том, что стандартно, а что нет.
A>У меня, например, VS 2022 (это последняя версия студии) ругается на то, что "text" is not a valid value for the "background-clip" property. А уж что она думает про атрибуты SVG, заданные в стилях, я даже повторять не буду за дурой. А вот MDN, W3 и, главное, все браузеры думают, что всё нормально.
A>Так что, надо просто пользоваться IDE, которая в курсе существования jQuery, и будет счастье, и автокомплит, и проверка валидности пропертей (по представлениям разработчиков этой IDE).
A>Во-вторых. Если бы разработчики браузерного API и ES в целом были хорошими разработчиками, они бы добавили стрингайзеры, как, например, сделано в TIS. Но это же люди, которые придумали метод querySelectorAll. Что от них хорошего можно ждать в принципе.
Ну так typescript же сейчас везде? Зачем вообще на javascript писать. А там все нормально, статическая типизация.
bnk>>Переменные также легко переименовываются, в отличие от строк-аргументов.
A>А кто будет проверять соответствие имени переменной селектору? Который, ВНЕЗАПНО, такая же строка. Вот и приплыли. Как ни крути, а введение переменной для результата селектора это нарушение DRY, денормализация, т.е. источник конфликтов.
Введение константы ничего особо не портит IMHO. Там же стоит const не var.
bnk>>Ну в любом случае ни первое ни второе в массовом производстве вроде как давно не используется
A>Лично мне всё равно, что там думает масса
A>jQuery это The Right Thing, потому что, по сути, декларативный DSL для манипуляций DOM'ом. В отличие от императивного ванилина с переменными, циклами и прочими окаменелостями.
Здесь не могу ничего сказать. Я обычно сталкивался с проектами где используется какой-то UI Framework, React там, Vue.
Рендеринг там, как правило, везде делается через
Virutal DOM, и зачем бы мне там понадобился jQuery я слабо представляю.
Я в том смысле, что к "настоящим" элементам DOM все равно больше никто не обращается из своего кода.
Потому, что это очень непроизводительно, для более-менее больших проектов неприемлемо.