LINUX.ORG.RU

Подскажите динозавру, как въехать в нынешний JavaScript

 ,


3

2

Я 12 лет назад впервые взялся за JS, тогда самым топовым инструментом был JQuery, который я выучил и стал использовать.

Но недавно меня обозвали динозавром, за то что написал в резюмешке «Знание JS на уровне JQuery».

Какую книжку посоветуете для изучения именно современного JavaScript ?



Последнее исправление: pup_kin (всего исправлений: 1)

Ответ на: комментарий от ddidwyll

Только так делать точно не стоит.

всегда так делаю, достаточно селекторов

Смотри target и его атрибуты и классы.

что за target?

anonymous
()
Ответ на: комментарий от anonymous
let cellsTitle = ['name', 'family', 'age']
document.all.mytable.addEventListener('click', e => {
    if (e.target.localName != 'td') return
    console.log('click on', cellsTitle[e.target.cellIndex], 'cell')
})
anonymous
()
Ответ на: комментарий от ddidwyll

Кроме реакта всё юзабельно.

Реакт тоже юзабелен.

Ангуляр же уже умер?

Нет. Но советовать его я не буду.

Legioner ★★★★★
()
Ответ на: комментарий от ddidwyll

все имеет определенную ценность

anonymous
()
Ответ на: комментарий от ddidwyll

Этот анон fernandos. Никто ему ничего не платит.

anonymous
()
Ответ на: комментарий от anonymous

Можно и так, но мне больше нравится решение с селекторами. Оно более юзабельнее, легче и универсальнее, да еще и без if-ов и лишнего кода…

anonymous
()
Ответ на: комментарий от ddidwyll

мне больше нравится

легче и универсальнее, да еще и без if-ов и лишнего кода

Испанский стыд :(

нее, это когнитивный диссонанс :)

anonymous
()

Предлагаю забить и сразу учить TypeScript. Там почти нет WTF???

Shadow ★★★★★
()
Ответ на: комментарий от anonymous

подключать в виде вставок или файлов ES6 модулей
интегрируется через webpack или альтернативы

Вот почему легче TypeScript. Для tsc меньше места на диске надо.

Shadow ★★★★★
()
Ответ на: комментарий от Shadow

Нет, это один и тот же язык. Никаких принципиальных изменений в его объектной модели не случилось. Добавилось всего несколько InternalSlots в базовые формы объектов.

javascript
()
Ответ на: комментарий от javascript

Никаких принципиальных изменений в его объектной модели не случилось.

Ну да, кого волнует другой синтаксис!

Shadow ★★★★★
()
Ответ на: комментарий от Shadow

И в синтаксисе ничего не изменилось. Он как и прежде Си-подобен. Все новые синтаксические конструкции являются расширением синтаксиса, а не его изменением. И в большинстве своем всего-лишь синтаксическим сахаром, над уже существовавшими конструкциями.

Тяжело наверное пытаться программировать, когда абстракции даются с таким трудом, как тебе.

javascript
()
Ответ на: комментарий от javascript

Ну да, const let теперь новый var, а ещё теперь есть async... Странно, что новый стандарт не рекомендует дрочить вприсядку.

Ну и код не из абстракций же состоит. А абстракции не на js пишут, а хотя бы на UML.

Shadow ★★★★★
()
Последнее исправление: Shadow (всего исправлений: 1)
Ответ на: комментарий от Shadow

Ну да, const let теперь новый var

У тебя раньше такого типа как EnvironmentRecord не существовало или тебя настолько сильно испугала возможность создать новые LexicalEnvironment?

а ещё теперь есть async…

Не хвтает извилин для раскрутки декларативной абстракции в императивные промисы?

Странно, что новый стандарт не рекомендует дрочить вприсядку.

Странно, что ты при своем дилетанстве, которое даже не пытался хоть как-то побороть, годами пишешь невероятную чепуху.

Ну и код не из абстракций же состоит.

Ну ясно.

javascript
()

тогда самым топовым инструментом был JQuery

JQ - это JS с человеческим лицом. Больше ниче и не надо. У каждого объекта в доме есть свойства и методы, жс гибок как никто, бери да делай что тебе надо. Всё эти их ангуляре нужны для того чтоб программировать могли троешники

pihter ★★★★★
()
Ответ на: комментарий от Shadow

Ну и код не из абстракций же состоит

https://ru.wikipedia.org/wiki/Высокоуровневый_язык_программирования

Основная черта высокоуровневых языков — это абстракция, то есть введение смысловых конструкций, кратко описывающих такие структуры данных и операции над ними, описания которых на машинном коде (или другом низкоуровневом языке программирования) очень длинны и сложны для понимания.

anonymous
()
Ответ на: комментарий от Nervous

копаться в DOM руками ненужно, используй библиотеку типа реакта

Мир поехал кукухой

pihter ★★★★★
()
Ответ на: комментарий от Shadow

а ещё теперь есть async

Э-э-э... из того, что ты ниасилил некую языковую конструкцию, никак не следует, что конструкция чем-то плоха.

Miguel ★★★★★
()
Ответ на: комментарий от pihter

Всё эти их ангуляре нужны для того чтоб программировать могли троешники

Дед, пей таблетки.

Nervous ★★★★★
()
Ответ на: комментарий от pihter

JQ - это JS с человеческим лицом. Больше ниче и не надо

Снежинки на сайтах добавляешь? Ладно за ванилу кто топит - я вполне их понимаю, но jq - старый костыль, ненужный много лет.

ddidwyll ★★★★
()
Последнее исправление: ddidwyll (всего исправлений: 1)
Ответ на: комментарий от ados

Ты зачем такое делаешь? Ну и конкретно этот пример может называть магией только человек, который никогда про документацию и не слышал.

ddidwyll ★★★★
()
Ответ на: комментарий от ados

javascript магией

Специалистом не присуще магическое мышление. То удел идиотов.

anonymous
()
Ответ на: комментарий от anonymous

Но он конечно и в CSS не умеет.

Да видел таких, какой css, зачем, есть же bootstrap 3, там и .btn и .col-

ddidwyll ★★★★
()
Последнее исправление: ddidwyll (всего исправлений: 1)
Ответ на: комментарий от Legioner

Лень искать, не подскажешь методику определения?

Ну и по most loved статистика немного другая.

ddidwyll ★★★★
()
Ответ на: комментарий от ddidwyll

Хотел запостить ссылку на гитхаб, где собрана вся эта javascript «магия» и под каждым примером расписана логика работы интерпретатора, объясняющая такое поведение. Но вот сам уже не помню ссылку.

UPDATE: Нашёл

https://github.com/denysdovhan/wtfjs

ados ★★★★★
()
Последнее исправление: ados (всего исправлений: 1)

Подскажите динозавру, как въехать в нынешний ледниковый период

fixed

anonymous
()

Неважно, что ты там напишешь, твоё резюме устареет не далее, чем на завтра.

beastie ★★★★★
()
Ответ на: комментарий от Miguel

async я ещё в c# осилил. Я про то, что JS сегодня и 12 лет назад - это разные языки, бо вообще разные паттерны.

Shadow ★★★★★
()
Ответ на: комментарий от ados

расписана логика работы интерпретатора

Тут выше про абстракции писали... 30 лет закапывали write-only perl, чтобы без плотного знакомства со спецификацией самый популярный ЯП оставался write-only.

Shadow ★★★★★
()
Ответ на: комментарий от javascript

Нет, это один и тот же язык.

Правильно, ЯП как был наколенной поделкой для скриптования странички, таким и остался. Но теперь поехавшие пишут на нём программы.

bread
()
Ответ на: комментарий от bread

был наколенной поделкой для скриптования странички

Разе что в головах невежд подобных тебе.

JavaScript is a compact, object-based scripting language for developing client and server Internet applications. Netscape Navigator 2.0 interprets JavaScript statements embedded directly in an HTML page, and LiveWire enables you to create server-based applications similar to common gateway interface (CGI) programs.

Netscape JavaScript Handbook © 1997

javascript
()

Но недавно меня обозвали динозавром, за то что написал в резюмешке «Знание JS на уровне JQuery»

Кто? Покажи пальцем?

Если в общих чертах рассказать, что поменялось за 12 лет — половина jQuery стала встроена в браузеры, плюс функции из всяких lodash/underscore, плюс много приятных мелких плюшек, которые сделали бессмысленными старые хаки, например, определение является ли число NaN делается штатной функцией isNaN, а не копипастнутой из stackoverflow функцией.

В остальном это почти тот же язык, что и 12 лет назад. Я подозреваю, что «динозавровость» заключается в незнании React/Vue/Angular, но, имея большой опыт разработки на Vue, я ответственно заявляю — это малополезное говнище, которое имеет свою нишу, но не более того. То есть, писать на Vue всё подряд — это как конструировать автомобиль одним молотком. В этом плане мне наиболее симпатишно Svelte v3, которое позволяет общаться c JS через минимальный клей и само является минимальным клеем к DOM.

Сам посуди: если ты пользуешься веб-сайтом/приложением Electron, оно отзывчиво и легковесно — это JS/TS, если оно долго грузится, тормозит, и неспешно реагирует на ввод — это, скорее всего, React.

Но проблема в том, что всё это похеру, если твоя основная цель — доить стартапы. Тупо учишь на базовом уровне JS ES6/TS, из либ тыкаешь React, Redux/MobX, Jest + React Testing Library, Webpack, axios, lodash, ramda, moment, webpack, CSS-SASS — и всё, ты обеспечил себе $3000 с рускоязычными, $4000-5000 с буграми. Всем похеру, будет ли работать твоя приложуха или как, главное — чтобы тесты проходили, задачки в жире закрывались, и часы в трекере отсиживались. Я хочу подчеркнуть, что перечисленный мною список либ — это не какой-то космос аля TensorFlow, а по большей части тонкие утилитарные штуки, исходный код большинства из которых читается за вечер. Твоя настоящая работа и проблема — это как отполировать языком заказчику анус так, чтобы заказчик продолжал платить тебе деньги за халтуру. Чёрт, да половина фейсбука именно так работает — чем ты хуже?

byko3y ★★★★
()
Последнее исправление: byko3y (всего исправлений: 1)
Ответ на: комментарий от Korchevatel

Если решишься удариться в оное – рекомендую начать с Vue, он не такой замудрённый

Ты уверен в этом? По моим ощущениям Vue значительно сложнее, чем React. Самое мерзкое во Vue то, что в нем как бы есть несколько слоев интерфейсов, которые все совершенно разные, и чтобы полноценно разрабатывать на Vue нужно знать их все. Например, код в шаблонах совершенно не похож на код в компоненте. Например, передача данных между компонентами совершенно не похожа на передачу данных внутри компонента. Например, обновление компонентов при изменении данных происходит автоматически, кроме случаев, когда оно не происходит автоматически. Особенно весело это на фоне того, что порой таки приходится рвать цепочки watcher-ов, чтобы онные не похоронили всю производительность твоей приложухи на больших массивах данных.

А недавно в кучу еще добавилось Composition API, которое по традиции продублировало половину старых интерфейсов абсолютно другими новыми интерфейсами.

byko3y ★★★★
()
Последнее исправление: byko3y (всего исправлений: 1)
Ответ на: комментарий от byko3y

Ты уверен в этом?

Да какая разница с чего начинать, всё равно на всём надо хоть немного пописать, чтобы выбрать, а не по советам с ЛОРа.

ddidwyll ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.