Тёмный
No video :(

Новое и полезное в Javascript 2024: await без async, тьюплы и promise без контекста 

Миша Ларченко
Подписаться 58 тыс.
Просмотров 17 тыс.
50% 1

Опубликовано:

 

26 авг 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 129   
@liz2k
@liz2k Месяц назад
Для меня новое это .with :D
@bloodjopa
@bloodjopa Месяц назад
осталось сафари познакомиться с этими достижениями js
@vasylvoina6663
@vasylvoina6663 Месяц назад
Действительно господа, раньше я страдал от отсутствия оператора пайп "|". Без этого оператора я тупо не мог понять, как изменить ети переменные странные, а теперь как пойдет работа, как закрутиться все! Ух! Уже бегу изменять переменные, которые ждут своих изменений.
@tuku_mann
@tuku_mann Месяц назад
Спасибо, что поделились вашей болью, я тоже из-за этого в js не мог(
@SergeyIT
@SergeyIT Месяц назад
Не перезакручивайтесь только
@dmitrykisel9564
@dmitrykisel9564 Месяц назад
Наконец-то можно работать с JS!
@barbiturat1
@barbiturat1 Месяц назад
На самом деле это очень полезный оператор. Он позволяет 1. Писать более компактный код 2. Группировать изменения связанные с одной переменной вместе, что способствует читаемости кода. 3. Уменьшить в коде число переменных и констант что способствует уменьшению числа возможных ошибок связанных с этим. Это например тот момент из за которого некоторые люди переходят на функциональное программирование.
@mikemerinoff
@mikemerinoff Месяц назад
Напишите код, который трансформирует данные переменной, не создавая новых переменных. Если вам близок такой код, поищите работу на лиспе
@pasza
@pasza Месяц назад
3:06 пайплайн-операторы не применяются к переменной по очереди; они вычисляют выражение, которое по итогу один раз записывается в переменную "num"; полезное нововведение
@ruslan-abdullaev
@ruslan-abdullaev Месяц назад
И совсем ничего про новые методы Set - intersection, union, difference, etc
@demimurych1
@demimurych1 Месяц назад
топ левел await - єто превращение вашего топ левел кода в генератор со всеми вытекающими: от самой большого потреблерия ресурсов по сравнению с другими возможностями js, до отсутствия єффективных способов оптимизации такого кода или крайняя сложность оптимизации таких генераторов. что абсолютно справедливо и для обычной async функции
@drak0an
@drak0an Месяц назад
Всегда на страже центрального процессора!
@paxpax1707
@paxpax1707 Месяц назад
Какие же бесполезные фичи только не придумают только чтобы не вводить паттерн матчинг. Просто сделайте нормальный паттерн матчинг чтобы не городить простыню из 10 if операторов господи прошу. Скоро будет 10 лет как висит RFC в репозитории TC39. Люди как только не изворачиваются чтобы контрлировать обработку ошибок. Возвращают строки, енамы или булеаны из функций. Пишут простыню из try/catch. Просто сделайте паттерн матчинг хотя на уровне оператора switch. Сделайте чтобы switch умел возвращать выражение как любом другом нормальной языке, а не вот эта клоунада со стейтментом. Сделайте чтобы if тоже был выражением. Господи боже. Нам ничего больше не надо для счастья. Нафига нам эти пайплайны или тьюплы?
@iconfael
@iconfael Месяц назад
Про решетку вообще я офигел. JavaScript развивается на глазах
@funcelot
@funcelot Месяц назад
Это вообще почти Erlang, на моих глазах язык перестает быть скриптиком для написания игр fluppy bird, вообще уже что-то академическое заезжает, круто, да.
@iconfael
@iconfael Месяц назад
@@funcelot осталось добавить статическую типизацию прямо на чистый JavaScript как многие это ждут. Я даже не знаю что случится с TypeScript тогда. И вообще примут ли это разработчики?
@ruslan-abdullaev
@ruslan-abdullaev Месяц назад
Непонятно для чего Михаил привел этот пример, т.к. неизвестно когда это появится в языке, Record & Tuple еще на stage 2
@vasman94
@vasman94 Месяц назад
@@ruslan-abdullaev # не будет? Блин, тотально необходимая штука, -.clooneDeep не придется везде пихать
@nazarfilippov2636
@nazarfilippov2636 Месяц назад
А почему мы не можем использовать метод Object.freeze() вместо последнего нововведения (#)?
@IvanSen-pv6bu
@IvanSen-pv6bu Месяц назад
Синтаксический сахар
@andreysakharov6210
@andreysakharov6210 8 дней назад
Неизменяемые структуры это круто. А можно будет их по значению сравнивать?
@BlankaSmidova-j3u
@BlankaSmidova-j3u Месяц назад
А какие методы groupBy для массивов ты считаешь самыми полезными?) я тоже недавно решил сменить сферу и выбрал курсы Skypro для этого)) долго сомневался но не пожалел))
@drak0an
@drak0an Месяц назад
спамерский коммент, накрученные лайки.
@danke1673
@danke1673 Месяц назад
спам коммент сгенерированный чат гпт для рекламы скайпро лол
@AlexanderBorshak
@AlexanderBorshak Месяц назад
Тянут в язык всякий мусор, скоро от JS один только сахар останется. Лучше бы поддержку типизации добавили.
@user-hijjjkkbv345
@user-hijjjkkbv345 Месяц назад
Спасибо больше ,полезная информация.
@user-lc5fi3iw1k
@user-lc5fi3iw1k Месяц назад
Миша, а Вы сейчас работаете на чистом JS или все-таки через фреймворки (библиотеку React) ?
@user-hijjjkkbv345
@user-hijjjkkbv345 Месяц назад
Реально заметил, нет у тебя почти видео работы с кодами, всякие игрушки написанные прикольные, так разгрузочка и для начинающих тоже прикольно)
@egodzb
@egodzb Месяц назад
Могу по своему опыту сказать, после работы не очень хочется еще и на ютуб код писать. Только вот такие новости почитать да обсудить 😁
@abbze8272
@abbze8272 Месяц назад
Осталось строгую тпизацию завезти на уровне языка и будет норм язык.
@HEX_CAT
@HEX_CAT Месяц назад
Лайк в поддержку видео❤
@user-vo1fr6ef9m
@user-vo1fr6ef9m 10 дней назад
Немного странно, что рассказывая о новинках js вы используйте сильно устаревший оператор with))
@SergeSchekhovtsov
@SergeSchekhovtsov 4 дня назад
А чем он плох, чтобы его не использовать?
@trahar
@trahar Месяц назад
4:28, для таких случаев рекомендуют использовать for loop вместо .forEach (чё-то про оптимизации компилятора)
@TalkerTube
@TalkerTube Месяц назад
а можно подробнее, для каких именно случаев рекомендуют for loop вместо forEach ?
@trahar
@trahar Месяц назад
​@@TalkerTube надо в сторону оптимизаций копать, не интересовался глубоко, чё-то связано с ссылкой this, c захватом контекста компилятору сложнее обработать forEach
@bloodjopa
@bloodjopa Месяц назад
@@trahar forEach переделывается под капотом в for loop, разницы в скорости с 2019 года уже нет
@trahar
@trahar Месяц назад
@@bloodjopa вроде истинно для простых случаев, зачастую бывает, что компилер на справляется с этим и оставляет как есть, лучше читать доки
@showing7577
@showing7577 28 дней назад
що за extension для vs code?)
@tarque_
@tarque_ Месяц назад
когда уже весь linq перенесут в JavaScript....
@user-glory-of-ukraine
@user-glory-of-ukraine Месяц назад
Interesting changes but when it will be relised?
@user-ix5vl2ry8j
@user-ix5vl2ry8j Месяц назад
полезно,это мне найболее инетересно
@isvladxxe
@isvladxxe Месяц назад
крутые новые фичи ! )
@funcelot
@funcelot Месяц назад
А, ну если кто ничего не понял, я просто пробую писать на языке Уильяма Шекспира, и хешбенгу быть. Очень рад, что всё-таки они это сделали!
@user-cu6yn9bs9f
@user-cu6yn9bs9f Месяц назад
Михаил, как Вы считаете, сколько лет ещё можно будет зарабатывать на JavaScript? В своём недавнем стриме Яков Файн предположил, что лет 30.
@funcelot
@funcelot Месяц назад
Этот язык изучают в университетах, следовательно - минимум лет 30, это гарантированно
@barbiturat1
@barbiturat1 Месяц назад
​@@funcelotне согласен. через лет 10 важно будет не знание языка программирования а умение грамотно ставить задачи нейросетке.
@dgvgfg
@dgvgfg Месяц назад
​@@barbiturat1 будет адская смесь лучших практик из javascript, java и python. Основные конструкции типа массивов, циклов, аспекты и аннотации если джавист или промисов если на джаваскрипте пишешь должен знать наизусть + основной фреймворк языка. Плюс обызательно лайфкод на алгоритмы это на джун+/миддл у меня такое постоянно, я постоянно прохожу собесы и постоянно заваливаю хотя отвечаю на 80% всего что спрашивают. Лучшие практики никуда не уйдут, будет больше синтаксического сахара кому как бы не хотелось без него ну и да умение пользоваться нейронкой. Ещё думаю CI/CD сейчас + тестирование сейчас почти обязательно спрашивают на собесах. Ну на практике это отдельный человек, хотя не факт скажут вот нейронка за тебя всё пишет давай ещё и кубики поддерживай))
@user-oi3gg4rw7y
@user-oi3gg4rw7y Месяц назад
​@@barbiturat1и как же ты будешь писать промпт нейросетке не зная языка на котором ей нужно что то написать? Это будет что то типа "Дядь, сделай красиво". Нейросетки ещё долго будут только помощниками. Но знать как с ними работать маст хэв.
@un_defined
@un_defined Месяц назад
@@user-oi3gg4rw7y скорее вопрос контроля того что выдала сетка стоит, задачу поставить это не самое сложное,хотя тоже навык
@arahnid_9844
@arahnid_9844 Месяц назад
Да, эти изменения неально удобные 👍
@brodabro
@brodabro Месяц назад
Когда же будет метод копирование объектов
@gerda-morozova
@gerda-morozova Месяц назад
structuredClone(obj)
@Mousepiece
@Mousepiece Месяц назад
Это всё скоро выйдет или уже работает ?
@daniyarsariev6483
@daniyarsariev6483 19 дней назад
node 22 версии все это есть, и в проекте можно использовать, но 22 нода сейчас не lts, вряд ли нормальный человек пустит аппликейшн с 22 нодой на продакшн
@Mousepiece
@Mousepiece 19 дней назад
@@daniyarsariev6483 понял, спасибо
@yuriy.kostenko
@yuriy.kostenko Месяц назад
Костыли с решеткой это супер! На что только не идут люди, чтобы не делать нормальные свойства с геттерами и сеттерами и поля с модификаторами доступа! ))
@dotvkab
@dotvkab 22 дня назад
Медианный уровень жс-ников в одном предложении
@M4Lets
@M4Lets Месяц назад
Давай еще больше примеров кода разных кейсов
@samogon5564
@samogon5564 Месяц назад
Вчера смотрел новость про то что на блокчейне Tezos X завезли js
@SYVlive
@SYVlive Месяц назад
8:24 неужели завезли человеческое копирование объекта? ^_^
@alekseypavlov2539
@alekseypavlov2539 Месяц назад
Не изменяемый объект и его копия const user = Object.freeze({ name: 'Aleksey', age: 24, }) const newUser = { ...user } newUser.age = 18 console.log(user, newUser)
@whatthepeople
@whatthepeople Месяц назад
суть tuple и records не только в том, что они иммутабельны, но и в свойствах, которые можно легко заиметь благодаря иммутабельности - сравнение по value (а не по ссылке) за константное время, не перебирая всю структуру, и, следовательно, становится возможным следующее: const map = new Map([ [#{ x: 0, y: 0 }, 'some value'] ]) map.get(#{ x: 0, y: 0 }) // 'some value'
@barbiturat1
@barbiturat1 Месяц назад
Получается что у ClojureScript теперь нет вообще никаких преимуществ перед js.
@ivanchernenko7958
@ivanchernenko7958 Месяц назад
Кложура все еще остается лиспом с развитой системой макросов, иммутабельностью переменных и ахуевшим количеством скобочек. Она всегда будет иметь преимущества перед жсом, впрочем как и недостатки
@kiryakirya-sila377
@kiryakirya-sila377 Месяц назад
А как сделать такие подсказки, как у него? Я так понимаю это какой-то AI плагин? Но как он предугадывает? Или просто это уже было один раз написано перед записью видоса, а потом AI просто запомнил и предлагает?
@un_defined
@un_defined Месяц назад
да. copilot вероятно
@sokolawp
@sokolawp Месяц назад
Это codeium
@eugenepotapenko
@eugenepotapenko Месяц назад
о! Иммутабельные данные и пайплайны делают из JS почти Clojure! Очень интересный поворот. Я на clojure пишу лет 8 уже, может смогу опять писать на JS без рвотных позывов.
@kvidon1357
@kvidon1357 Месяц назад
Ну если у тебя рвотные позывы от js, стоит сходить к врачу
@eugenepotapenko
@eugenepotapenko Месяц назад
@@kvidon1357 начал писать на js в1997 - имею право. Впрочем, вы конечно охуенно разбираетесь в js, вам виднее.
@kvidon1357
@kvidon1357 Месяц назад
@@eugenepotapenko и что должна дать людям ваша дата начала кодинга на js? Умнее вы явно не стали
@eugenepotapenko
@eugenepotapenko Месяц назад
@@kvidon1357 да я вообще даун по жизни. Не то что вы )
@kvidon1357
@kvidon1357 Месяц назад
@@eugenepotapenko думаешь, этими комментариями сделаешь себя умнее? Ну понятно, когда ответить нечего, только и остается как писать всякую хрень
@brr3534
@brr3534 Месяц назад
Ну с нодой конечно так себе пример для withResolvers
@CJSurv
@CJSurv Месяц назад
А в тайпскрипте оно будет работать?
@ivanovchin
@ivanovchin Месяц назад
конечо, type script этот тот же js только с синтаксисом типов
@mikep541
@mikep541 Месяц назад
JS меняется, развивается - это круто. Скоро и типы строгие возможно подгонят, и нужны в TS больше не будет. А фишки норм, мне понравились. Ждём дженерики и модификаторы:)
@enterprise7585
@enterprise7585 Месяц назад
А что за плагин делает такой чудесный автокомплит?
@raskoltime3186
@raskoltime3186 Месяц назад
Из того что я знаю, такое может Codeium и Copilot, первым сам пользуюсь, прикольная штука, это расширение в vs code, установил и все работает
@bidlo_menetil
@bidlo_menetil Месяц назад
Codeium он использует
@funcelot
@funcelot Месяц назад
immutable data structures. it is been 40 years to pass to just add this feature to ECMAScript 2024? what a nonsence. really. whole langueages were created including Erlang, Go, Rust just to have this feature as the first-class language objects, including well-known React library. Immutability of data and a way to mutate throught cloning and not modifyhing objects pass throught whole architecture patterns like distributed systems, in-memory online transaction processing, clusters and database processing, serverless, stateless systems. All of this made available just to the simple fact that we do not track modifications of exact objects in memory. We just doing f*n copies which takes off responsibility of sending events to subscribed objectst about changes in source object. that a heck a really, really old idea. I like that they finally implemented it not using whole micro-frameworks, but on a language level #. F*uck, this is best morning i've ever had since 1997 in js scripting. Thank you, you are real man! Great news, and keep going!
@barbiturat1
@barbiturat1 Месяц назад
Вообще меня конечно радует что иностранцы смотрят русскоязычные ролики.
@dkuba
@dkuba Месяц назад
Если использовать # то можно и клонировать объект получается?
@brodabro
@brodabro Месяц назад
Расскажите как? Это реально боль
@TheBoris83
@TheBoris83 Месяц назад
Вряд ли это будет глубокое клонирование. Только первого уровня
@dkuba
@dkuba Месяц назад
​@@TheBoris83 ну я не пробовал, но а если ))​
@barbiturat1
@barbiturat1 Месяц назад
​@@TheBoris83почему не глубокое? Если теперь все объекты под капотом будут иммутабельными, то их полное клонирование должно быть практически таким же быстрым как поверхностныое. Так реализовано например в языке Clojure.
@user-glory-of-ukraine
@user-glory-of-ukraine Месяц назад
​@@brodabrostructuredClone(obj,options)
@arthurarthur4075
@arthurarthur4075 Месяц назад
Прям сильно в ФП дрифует
@michaelinuente92
@michaelinuente92 Месяц назад
ох уж эти любители спагетти :)
@romandeveloper7720
@romandeveloper7720 Месяц назад
5:24 - та ну, не особо и экономит время-то
@aleksandrdemidov6058
@aleksandrdemidov6058 Месяц назад
а зачем использовать промис, если есть парадигма асинхронного программирования async-await ... я хочу сказать, что в этом смысле промис - рудимент ... или нет? )))
@eugenefedoryachenko8793
@eugenefedoryachenko8793 Месяц назад
все асинхронные функции возвращают промис в js
@enterprise7585
@enterprise7585 Месяц назад
иногда нужно что-то хардкорное самому завернуть в промис
@aleksandrdemidov6058
@aleksandrdemidov6058 Месяц назад
@@eugenefedoryachenko8793 ) это понятно, и пусть возвращают, но напрямую зачем ими пользоваться сейчас?
@romandeveloper7720
@romandeveloper7720 Месяц назад
Promise.all, например, используется для параллельных запросов
@aleksandrdemidov6058
@aleksandrdemidov6058 Месяц назад
@@romandeveloper7720 вот же как к калбекам прикипели, понимаю )))
@owl2137
@owl2137 Месяц назад
Первый :))
@woofwoof4081
@woofwoof4081 Месяц назад
🥶🥶🥶
@alexandrsharp920
@alexandrsharp920 Месяц назад
разработчики на Rust смеются в стороне .....
@ted_res
@ted_res Месяц назад
В 2014 не писали "нет войне"?
@KopoLPedov
@KopoLPedov Месяц назад
не модно было
@enterprise7585
@enterprise7585 Месяц назад
Просто не обращайте внимание, он же не с Донбасса, как мы с вами, ему простительно. Человек специалист, за это его и смотрим.
@UCmdrhccjVM95UidL5idZw2Q
@UCmdrhccjVM95UidL5idZw2Q Месяц назад
Так так... мамкины воины возбудились и прилетели написать комментарий)
@proletarian
@proletarian Месяц назад
8 лет дамбили бамбас?
@user-xq5bv7ki5n
@user-xq5bv7ki5n Месяц назад
В Украине как раз все писали и говорили, только рашистам-путинистам похрен план захвата Украины уже начали реализовывать
Далее