Мне кажется «?.» - это лучшее, что случилось в js за последнее время. С этим &&= пока перебор, но и к => не сразу все пришли, а сейчас без этого никак. Ну и возвращаясь к вопросу «как вам это?». Считаю отличным, что язык развивается.
@Boortwint3 жыл бұрын
Я в одном чате телеги несколько лет назад общался с одним разрабом, который утверждал, что внедрение "?." крайне неразумно. На мой вопрос "А разве многоуровневые if с проверкой на существование свойства лучше нового синтаксиса?" получил ответ, что код надо писать так, чтобы многоуровневые if не надо было использовать. А "?." только побуждает писать такой код. Сразу стало понятно, что человек оторван от реальной разработки на проде и не понимает, о чём он говорит. Он живёт на радуге с единорогами, где все разрабы пишут идеально и без косяков. Если backend присылает на фронт неполные данные, то добиться от них отправки корректных данных либо невозможно, либо на это понадобятся недели. Здесь-то и спасает "?.". Без него было бы тяжело.
@АлександрАндреев-г3ь3 жыл бұрын
Строка 21 отличная. Я бы кстати писал с if (...) else ... чтобы совсем понятно было )) Ещё один плюс с новыми операторами, вам не нужно больше обфусцировать код, он и так станет нечитаемым )))
@maximpodhorny28643 жыл бұрын
Спасибо за видео. Первые два примера очень даже полезно и я думаю будут все юзать, а вот когда они вместе это уже близится к категории "нечитабельно". А по поводу нововведений с "|>" прям выглядит многообещающе, круто, я думаю влетит эта фитча аж бегом........
@fuad20692 жыл бұрын
Дима ты просто красавчик, кроме того что ты классно подаешь материал ты ещё и подымаешь крутые темы
@andykud633 жыл бұрын
Давно не заходил на канал. Лаврик повзрослел:)))
@remkarablin41093 жыл бұрын
Спасибо, что рассказал понятно, а то у меня глазки круглые были видя, что это такое :)
@artemz90543 жыл бұрын
Немчинский говорил что между читаемостью и краткостью нужно выбирать первое. Так как большинство времени мы читаем код (саппортим в код, написанный другим программистом), а не пишем. И каждый раз спотыкаться на хитром выражении - это повышение когнитивной нагрузки. И второй плюс данного подхода - можно дать ознакомиться с кодом бизнес-аналитику (при использовании методологии DDD). Даже у него с ''if"-ами проблем не должно возникнуть, в отличие от комбинаций знаков вопрсов, точек и прочих палочек.
@yavener Жыл бұрын
Да, но у ? и ?? есть очевидный плюс - выражения всеми будут писаться одинаково и, соотвественно, с практикой могут читаться быстрее. По поводу остальных сомневаюсь...слишком кратко и емко.
@sagvel5593 жыл бұрын
21 строка крутяк, новые операторы тоже! Спасибо, Дима!
@unknownWakeborder3 жыл бұрын
Крутой, полезный видос с новыми фичами) Спасибо!
@r_gg82323 жыл бұрын
фронтенд разработчик в 2037: как написать сайт в одну строку на javaScript
@MrTAZAQ3 жыл бұрын
npx install site
@vikont24483 жыл бұрын
@@MrTAZAQ хаха
@rodigy3 жыл бұрын
Это уже не смешно
@Джек-е5о3 жыл бұрын
Новые операторы часто использую в php, js. Первое время нужно привыкнуть, проблема в том, что когда ты сейчас пишешь, тебе все понятно, а через время читаю снова, начинаешь напрягаться больше чем с операторами с которыми работаешь чаще. Да, это дело практики и повторений, через некоторое время начинаешь все больше привыкать и сейчас почти нет разницы как писать, а для сокращения места будет плюсом. По моему самое важное для читаемости кода должно быть правильно расставлены промежуточные пустые строки, разделитель, для быстрого поглощения и анализа строк.
@bublik4622 жыл бұрын
Огромное спасибо, очень полезные !
@fuad20693 жыл бұрын
Я с первого раза все понял, это крутое новшество!!!
@sakuranasty3 жыл бұрын
первые 2 оператора очень часто использую, выручают, а вот следующие для меня новшество) Вообще я не против таких нововведений, но для маленьких функций. Если какая-то функция уже содержит кучу логики, особенно сложной, я бы использовала то, что хорошо знакомо каждому, чтобы ресурсы мозга не уходили на парс этих символов) А если в функции пара действий типа проверить респонс и отфильтровать его, то можно сэкономить строчки
@VIMPdev3 жыл бұрын
Еще добавят пару подобных фишек и с помощью JS можно будет вызывать дождь). А если серьезно, то как по мне знак вопроса интуитивно понятен. Особенно для тех, кто хоть немного разбирается в регулярках.
@roma78.183 жыл бұрын
ну в регулярках он немного другое значит, если отталкиватся от регулярок то получается условие наоборот.
@VIMPdev3 жыл бұрын
@@roma78.18 Да, просто когда я увидел впервые этот синтаксис у меня такая ассоциация сработала, что вопрос значит может есть, а может нет
@eldarda3 жыл бұрын
Постоянно юзаю опциональные цепочки. Еще кстати можно было сказать, что с их помошью можно вызывать функции. Если это функция, то она вызовется, иначе это не приведет к ошибке. Два вопроса как и в php так и в js очень годная конструкция, мне очень нравится
@eldarda3 жыл бұрын
сокращение от if(typeof x === 'function') x()
@andreygokhan68933 жыл бұрын
Как с помощью ?. вызывать как функцию переданный аргумент?
@evgeniypp3 жыл бұрын
"??" и "?." must have. Читаемость всегда важнее краткости, и эти операторы только улучшают читаемость. "const foo = bar || baz" было очень чистым и читабельным лайфхаком, но баговало с нулём, что "??" просто исправил и стандартизировал. Что касается "?.", то, например, очень популярный случай: "if (response && response.sales)" - читается намного хуже, чем "if (response?.sales)", особенно внутри HTML-шаблонов. А довести до абсурда можно всё, что угодно. Не значит, что это антипаттерн.
@muhadhzir3 жыл бұрын
Если придумали значит надо) хорошая замена if(x) x=y, просто аккуратно обращаться как сказал Дмитрий, ранее я написал бы например x = 1; y = x || 2, но если нужно переопределить в процессе, то оператор &&= самое то, вопрос привычки
@ТыщенкоАнтон3 жыл бұрын
21 строка просто сказка. локанично.
@synopticua2 жыл бұрын
Нажму лайк №667 за интересный материал
@yurakostin69753 жыл бұрын
Признаюсь, если нет ограничений на использование библиотек (ramda, remeda), написал бы вот так: const discountByCode = (code, sales) => pathOr(0, ['sales', code, 'value'], sales); discountByCode(code, response); Все эти новые операторы нахожу жутким синтаксическим мусором (думаю, что это пройдёт со временем, но всё же) А вот оператора pipe (|>) очень жду. Напоминает elm. Спасибо за видео, кажется, что оператор &&= я успел прошляпить =)
@vitiok782 жыл бұрын
Сахар в коде ведёт себя аналогично сахару в жизни: если его немного, то он делает блюдо намного вкуснее, а если перебор, то есть это невозможно. При работе в команде я рекомендую использовать сахар весьма ограниченно. Потому что этот код кто-то будет проверять перед мерджем в master. Идеальный случай - это когда проверяющий читает код точно так же, как читает обычную книгу: глаз легко бежит по знакомым словам и не задерживается. А вот когда человеку приходится хотя бы на несколько минут задерживаться, чтобы вкурить логику кода какого-то однострочника, это просто безвозвратная потеря времени, потому что и написать сложный сахар дольше, чем обычные if, и читать его ещё дольше. Итого, время теряется дважды, и совершенно непонятно, что выигрывается. И ещё: optional chaining и null coalescing настолько хороши, что их начинают использовать все, всем хочется их использовать, и это действительно приводит к автоматической стандартизации кода. Но когда мы идём дальше и вводим новые излишние сущности, которые уже не так очевидно экономят время, мы эту стандартизацию убиваем, снова получая мешанину из разных подходов в одном и том же проекте...
@FredUA3 жыл бұрын
строка 21 вообще супер. Мне очень нравится!
@KichatovAY3 жыл бұрын
Мне кажется, это вопрос привычки. Тернарные операторы тоже поначалу многим не заходят, потом привыкают. Насчёт последнего синтаксиса - вроде не страшно выглядит, правда ценность пока не очень понял. Лично у меня пока не было каких-то нервирующих проблем со скобками.
@Omicrons3 жыл бұрын
По поводу решения одних и тех же задач разными путями. У меня такое в CSS часто, порой одни и те же цели решаешь по-разному. А иногда и вовсе забываешь как сделал то, что сделал за пару минут несколько дней назад...
@Polite_person_3 жыл бұрын
Мне кажется самая лучшая реализация обработки нулабельных сущностей реализована в в Kotlin например функция let и код в 21 строке выглядел бы так response.sales?.let{ остальной код если не null} код внутри фигурных скобок пишется уже без знаков вопросов.
@АртемМалютин-г4о Жыл бұрын
Супер!! 👍
@antonztxone3 жыл бұрын
а как такой код (на строке 21) потом тестировать? Как можно будет определить на каком этапе у тебя прилетело не верное значение? Нужно ведь будет опять разбирать строку поэлементно и делать проверки... в целом мне нравится сокращения вводимые. Ведь как любой язык его просто нужно уметь читать и будет понятно. А стандартизация это большой +. Прям количество вариантов исполнения порой раздражает, в частности в рамках одного проекта или даже компонента. Когда над проектом работает несколько программистов, и каждый делает по-своему - это тяжелее разгребать... Пайпы тоже норм, если это будет удобнее и читабельнее)
@r2r4ik3 жыл бұрын
Я думаю что код пишеться для того чтоб работал а кто не понимаєт пусть учит 😉😉😉 как по мне, писание кода это своево рода софизм. СПАСИБО за видео!💣👍💪
@hvsoft62613 жыл бұрын
Вообще кайф, Уже без них не как👍
@Krabaton3 жыл бұрын
Хорошо отношусь. Просто надо учить чуть больше чем один язык js, чтобы глазами не хлопать. Последнее так вообще огонь
@KrezoMusic3 жыл бұрын
Очень полезно. Спасибо
@ГенаПетров-н5ы3 жыл бұрын
Композиция функций обязательная тема для функционального программирования
@jahongirmusayev6583 жыл бұрын
Спасибо!!!
@vladimirpl47823 жыл бұрын
Ух ты! Надо будет как то поугорать на работе
@webdevkz3 жыл бұрын
Сокращать код в такой вид задача минификатора, а исходный код должен быть легко читаемым в рамках разумного
@krainev1033 жыл бұрын
Главное, чтобы JS не стал похож на Brainfuck😅
@ortodesign3 жыл бұрын
Как это использовать в шаблонах vue? Именно в template части?
@bubendancer72103 жыл бұрын
Спросонья можно перепутать с Rust)
@littleion78963 жыл бұрын
Короткий код стоит дороже. Сложнее читать, требуется более высокая квалификация, сложнее рефакторинг, быстрее загрузка. За него можно смело требовать доплату. В итоге это не технический вопрос, это вопрос ‘психологического договора’, если так можно выразиться ‘за Ваши деньги, любые танцы’. Ну и время конечно.
@СергейШеин-ш4л3 жыл бұрын
Школа современных шахмат будет? или стримы с турнирами "Как победить чемпиона"
@dmitrylavrik3 жыл бұрын
Просто он сегодня явно не в форме был, поэтому 2-2 и сыграли) В целом для души шахматы постримить можно, но времени в сутках как известно...
@gill_gate3 жыл бұрын
@@dmitrylavrik Я бы с удовольствием посмотрел за вашей игрой
@DemetriyArh3 жыл бұрын
?. уже давно в ts есть. Под капотом это просто длинная строка с "логическими фокусами"
@alexperemey60462 жыл бұрын
Все программисты напишут по разному. А теперь у них будет ко всему этому разному ещё и вариант с ?.??
@muhamadaminibragimov50963 жыл бұрын
Pipeline оператор для фп наверно хорош
@greyufo3 жыл бұрын
я за компакт
@dampadorje3 жыл бұрын
Какая разница сколько строк? If с сравнением с undefined гораздо понятнее человеку, а я код для людей пишу.
@FredUA3 жыл бұрын
От количества строк зависит обьем файлов. Думаю, обьяснять что чем меньше - тем лучше не нужно?
@fedor42013 жыл бұрын
@@FredUA "что ты чертвозьми такое несешь"
@FredUA3 жыл бұрын
@@fedor4201 тебя забыл спросить...
@PowWowVideo3 жыл бұрын
А вот ?. проверит также на null, а ты своим if'ом наверняка забудешь в паре тройке мест, как например в комментарии выше. А коллеге твоему потом гадать - ты это тупо забыл или написал без null специально и используешь это где-то ниже
@ИльяМалофеев-ъ5щ3 жыл бұрын
Я думаю что создатели js хотят, что бы if else не использовался вообще
@bublik4622 жыл бұрын
21 строка очень сокращает код !
@dushnilas3 жыл бұрын
.? && ?? Это доставляет
@kirillsundaen88103 жыл бұрын
Да, мне как новичку на 17 строку страшно смотреть, можно голову сломать 🙄
@rodigy3 жыл бұрын
Ну ж товарищи, язык скатывается в функциональщину с этими |>
@shurinskiy3 жыл бұрын
Это, уже на какие-то бешеные регулярки становиться похоже. С такой же читабельностью )
@bag_of_pixels3 жыл бұрын
Я всё понимаю, язык должен развиваться, но это какой-то маразм. Будет в итоге то же что и с С++. Кто-то должен остановить этих придурков
@yakut543 жыл бұрын
начал Dart курить, от вопросительных знаков в глазах рябит. И сюда приволокли.... 🙄
@andrerussian40163 жыл бұрын
в swift-e Они тоже есть
@ИванИванов-ц5ю6х3 жыл бұрын
Разбудите меня через 100 лет, а вечный мидл Дима до сих пор возится в основах js. Краткость vs читаемость ору
@dimachen863 жыл бұрын
Дурацкий Javascript ) Миллионы решений. Как хорошо в php с оператором isset.
@webdevkz3 жыл бұрын
Null coalesce и тернарник тоже есть
@fuad20692 жыл бұрын
Моё мнение надо писать самым трешовым образом и здесь нет ничего плохого, максимум что можно после себя оставить то это документацию со ссылками, а остальные кому не нравиЦа идут лесом и тчк. На все возражения типа есть другие люди которые пришли с других языков и типа давайте быть толерантнтнее и тп хрени скажу просто, когда кто либо из вас приедет в чужую страну, я не думаю что местные жители вдруг из за этого должны начать разговаривать между собой на "детском" языке.