💻 Функции, стрелочные функции, контексты, замыкания в JavaScript

  Рет қаралды 56,197

Timur Shemsedinov

Timur Shemsedinov

Күн бұрын

Пікірлер
@anatolykobzisty9827
@anatolykobzisty9827 5 жыл бұрын
00:00:00 Введение ----------------------------------------------- Способы определения функций --------------------------------------------------- 00:11:22 Функция объявление (Declaration) 00:12:46 Функция выражение (Expression) 00:16:07 Лямбда-выражение (Lambda expression) или функция-стрелка (Arrow function) 00:16:43 Лямбда-функция (Lambda function) ------------------------------------------------------------------------------------------------------------------------------------------------------------ 00:18:45 Область видимости (Scope) 00:25:00 Функции, как абстракции 00:26:43 Методы функции (name, length, toString( ) ) 00:31:26 Значения по умолчанию у функции 00:36:46 Rest-оператор (...args) 00:41:49 Способ определения функции, через new Function 00:44:46 Функции внутри объекта 00:50:42 Обращение к полям объекта из привязанной функции, через this 00:55:24 История синтаксиса создания контекстов, через самовызывающиеся функции ( IIFE) 00:58:30 Методы функции, наследуемой от объекта (call, apply) 01:00:53 Комментирование функций 01:01:27 Задание декомпозиции функции 01:04:24 Замыкание: context 01:08:41 Замыкание: chainning 01:11:55 Замыкание: summator 01:14:16 Замыкание: recursion
@nikitasobolev8288
@nikitasobolev8288 4 жыл бұрын
Давайте полайкаем этот коммент наверх!
@cassinid8843
@cassinid8843 6 жыл бұрын
Спасибо большое что сделали лекции доступными не только Вашим студентам. Для заочников, которые учатся сами, такая помощь неоценима. Теперь точно знаешь что и в каком порядке нужно учить, это не говоря о том, что вы очень вдохновляете работать много и усердно :)
@mokkamokka4097
@mokkamokka4097 5 жыл бұрын
Вы самый лучший!!!!!! Круче всех однозначно! Тем кто у вас учится повезло невероятно. Спасибо!
@yamumuyolobro513
@yamumuyolobro513 3 жыл бұрын
Хотелось бы сказать спасибо за то, что вашими лекциями могут пользоваться любые студенты. Жаль, у нас в Вузе нет подобных преподавателей, хотелось бы им всем включить ваши лекции и обучаться вместе с вами. Привет вам из Иркутска!
@TimurShemsedinov
@TimurShemsedinov 3 жыл бұрын
kzbin.info/www/bejne/hpuopoOfotWLnqM
@yamumuyolobro513
@yamumuyolobro513 3 жыл бұрын
@@TimurShemsedinov Посмотрю позже, спасибо) Сейчас смотрю ваш материал по callback и наконец-то понимаю, что это такое)
@Tormin_run
@Tormin_run 6 жыл бұрын
Такому на курсах фронтенд не научат.Спасибо огромное)))
@alym.aleksey
@alym.aleksey 4 жыл бұрын
не у впрек автору, но такому научат на любых курсах, это прям база, и тут нет глубины, просто стандартная поверхностная информация
@antonparhom1251
@antonparhom1251 2 жыл бұрын
Удивительная вещь третий раз пересматриваю и по прежнему узнаю для себя новые вещи) Огромнейшее спасибо!
@senriamiezaru5563
@senriamiezaru5563 4 жыл бұрын
Спасибо за плейлист! После поверхностного ознакомления с синтаксисом на курсах, искал что-то более глубокое, и нашел! Кроме углубленных определений, еще и показаны разные случаи, что помогает структурировать картину в голове. Спасибо!
@takedaheroku
@takedaheroku 3 жыл бұрын
Все четко по полочкам. Отличный материал. Спасибо автору.
@Doox911
@Doox911 6 жыл бұрын
Одна из лучших лекций про замыкание! Было бы чудесно, если бы ещё и тайм коды добавили. Так как смотреть это буду многократно, да и не только я! Супер!
@Fodintsov
@Fodintsov 5 жыл бұрын
Дык добавьте, когда в следующий раз будете смотреть. Поделитесь с автором и сделаете добро всем.
@Das.Kleine.Krokodil
@Das.Kleine.Krokodil 5 жыл бұрын
@@Fodintsov сделайте вы
@Fodintsov
@Fodintsov 5 жыл бұрын
@@Das.Kleine.Krokodil Я Вам разрешаю.
@Das.Kleine.Krokodil
@Das.Kleine.Krokodil 5 жыл бұрын
@@Fodintsov Только после вас. Будьте так любезны.
@Fodintsov
@Fodintsov 5 жыл бұрын
@@Das.Kleine.Krokodil Да точно нет. Мне и без таймкодов живется сладко. А вот тот, кто просит их, вполне в силах сделать их самостоятельно.
@WebEnv
@WebEnv 3 жыл бұрын
это лучшее что я видел по нативному js
@kirillpodolinniy309
@kirillpodolinniy309 4 жыл бұрын
Тимур, благодарю Вас! Может просто пришло время, но я все таки понял замыкания, большое вам спасибо)
@nikitakirilin9776
@nikitakirilin9776 4 жыл бұрын
1:17:00 набор чисел в примере конечно очень подозрительный...
@frozenplay1417
@frozenplay1417 7 ай бұрын
хахахахах
@КотикПушок-д1щ
@КотикПушок-д1щ 7 күн бұрын
Ноду кодить мы не бросим...
@ЕвгенийМедведев-ц3х
@ЕвгенийМедведев-ц3х 5 жыл бұрын
лучший, бро!) я давно такой контент искал!
@TimaGixe
@TimaGixe Жыл бұрын
Чудова лекція! Дякую вам за вашу працю! 🚀
@КонстантинСуркин-ь9ч
@КонстантинСуркин-ь9ч 4 жыл бұрын
Спасибо! Очень толковые лекции, благодарю.
@artem_travlo
@artem_travlo Жыл бұрын
Отличный материал. Спасибо автору.
@gagogoga794
@gagogoga794 3 жыл бұрын
Отличный материал!👍🏻
@ruslanglaznyov9117
@ruslanglaznyov9117 5 жыл бұрын
Можно пожалуйста ссылки на лекции Степанова? Спасибо за ваш труд!
@TimurShemsedinov
@TimurShemsedinov 5 жыл бұрын
kzbin.info/aero/PLHhi8ymDMrQb4sVDBsN5y14X4BoAUU6Sh
@АртёмПахомов-к9й
@АртёмПахомов-к9й Ай бұрын
Здравствуйте, на 41:10 функцию которую передается как аргумент называют лямбда выражение, хотя в начале говорилось что лямбда функция которая имеет блок операторов называется лямбда функция э, а если без ретурна то это лямбда выражение, скажите пожалуйста кто нибудь как все же правильно ее называть?
@ВикторГорбачев-в4в
@ВикторГорбачев-в4в 3 жыл бұрын
Спасибо за уроки! Вопрос. 36:00 Вы говорите, что такой код до сих пор актуален, когда мы занимаемся кодом, связанным с предметной областью. Возможно ли там переписывание функции, с применением значений по умолчанию, по стандарту ES6, вида function fnHashNew({ a = [7, 25, 10], b = 'Hello', c = 100 } = {}) { console.dir({ a, b, c }); } или там, всё же правильнее использовать, код, который используется Вами в примерах, с использованием оператора ИЛИ (||)?
@igorsavelev9013
@igorsavelev9013 5 жыл бұрын
Вообще старый и новый способы объявления параметров по умолчанию не совсем одинаковы: мы можем передавать в качестве аргумента, к примеру, null и при старом способе у нас будет использоваться именном значение по умолчанию в качестве аргумента, а при новом - null
@VadimShch
@VadimShch 5 жыл бұрын
Наверное писали уже... В последнем примере замыканий ошибка, точнее в том как Вы его прокомментировали. a1 в 15 строке замыкается на 5, а не на 10 и далее тоже самое.
@АндрейКотомкин-о9ю
@АндрейКотомкин-о9ю 5 жыл бұрын
На 54:10 Вы говорите, что f1, f2, f3 - это функции с побочными эффектами. Разве это так? Они не являются чистыми, не являются детерминированными, но побочных эффектов у них нет. Или я ошибаюсь? Файл: github.com/HowProgrammingWorks/Function/blob/master/JavaScript/9-this.js
@alexeishilin
@alexeishilin 5 жыл бұрын
я полагаю, что здесь "побочный эффект" употребляется как синоним нечистой функции. f1, f2, f3 зависят не только от своих аргументов, но и от внешнего состояния (this)
@RisDeep
@RisDeep 4 жыл бұрын
@@alexeishilin неправильно значит употребляется
@oldodyn
@oldodyn 5 жыл бұрын
Круто. Все понятно.
@tech-with-nd
@tech-with-nd 2 жыл бұрын
Хотів би додати ремарку щодо 34-ої хвилини відео, де порівнюються дефолтні значення аргументів функції до оператора ||. Це є помилковим твердженням, адже дефолтні значення використаються лише в тому разі, коли аргумент буде undefined, інакше підміни не буде та значення може залишиться null. У випадку з || перехід на правий операнд відбудеться при будь якому false твердженню лівого операнда, включно з null.
@zhelyakea
@zhelyakea 5 жыл бұрын
Спасибо большое за лекции, очень доходчивое и подробное изложение материала! Хотел для себя уточнить по поводу термина "лямбда функция", у Вас он используется только применительно к стрелочным функциям, но вроде как лямбда функция подразумевает под собой объявление анонимной функции, а не именно стрелочной? Спасибо!
@TimurShemsedinov
@TimurShemsedinov 5 жыл бұрын
Я употребляю это как синоним стрелок (или функций не имеющих своего this), хоть стрелки в js тоже могут быть не анонимными, например: const func = () => {}; и потом console.log(func.name); В свойство name записывается название первой переменной, в которую функцию присвоили при объявлении, а чтоб сделать действительно анонимную: const func = (() => () => {})(); теперь func.name пустой. В использовании const func = function () {}; теперь осталось мало смысла, т.к. это нужно менять на стрелку в подавляющем большинстве случаев.
@zhelyakea
@zhelyakea 5 жыл бұрын
@@TimurShemsedinov Спасибо большое за разъяснение!
@ЕвгенийКраев-я2ж
@ЕвгенийКраев-я2ж 3 жыл бұрын
13:30 Тимур, где вы узнаете такие тонкие детали про разделении функций и тому подобное.
@TimurShemsedinov
@TimurShemsedinov 3 жыл бұрын
Статьи и доклады авторов виртуальных машин и движков js
@ЕвгенийКраев-я2ж
@ЕвгенийКраев-я2ж 3 жыл бұрын
@@TimurShemsedinov Не хочу вас "дергать", но можно пару статей
@TimurShemsedinov
@TimurShemsedinov 3 жыл бұрын
mrale.ph/blog/2015/01/11/whats-up-with-monomorphism.html
@TimurShemsedinov
@TimurShemsedinov 3 жыл бұрын
erdem.pl/2019/08/v-8-function-optimization
@ЕвгенийКраев-я2ж
@ЕвгенийКраев-я2ж 3 жыл бұрын
@@TimurShemsedinov Ух ты спасибо
@rinatvaliullov3247
@rinatvaliullov3247 5 жыл бұрын
Скиньте те самые лекции Степанова, пожалуйста
@TimurShemsedinov
@TimurShemsedinov 5 жыл бұрын
kzbin.info/aero/PLHhi8ymDMrQb4sVDBsN5y14X4BoAUU6Sh
@evgenkaban6018
@evgenkaban6018 6 жыл бұрын
замечательные лекции, спасибо, если есть возможность материалы которые вы указываете в лекциях добавить в описание, или где их можно найти
@TimurShemsedinov
@TimurShemsedinov 6 жыл бұрын
Тут ссылки на все репозитории с примерами кода - github.com/HowProgrammingWorks/Dictionary
@TimurShemsedinov
@TimurShemsedinov 6 жыл бұрын
Примеры с функциями - github.com/HowProgrammingWorks/Function с замыканиями - github.com/HowProgrammingWorks/Closure
@evgenkaban6018
@evgenkaban6018 6 жыл бұрын
@@TimurShemsedinov спасибо за ответ, я, наверное неправильно выразился, в начале вы упоминаете лекции Степанова, в видео про Git обещаете конспект с основными командами, наверное их можно найти в Dictionary, но было бы удобно сразу в описании к видео, но это скорее пожелание
@romanilienko2357
@romanilienko2357 5 жыл бұрын
Evgen Kaban у Тимура в плейлисте программингс есть.
@TimurShemsedinov
@TimurShemsedinov 5 жыл бұрын
@@evgenkaban6018 kzbin.info/aero/PLHhi8ymDMrQb4sVDBsN5y14X4BoAUU6Sh
@dmitrijponkin
@dmitrijponkin 5 жыл бұрын
Спасибо!
@igorscream
@igorscream 4 жыл бұрын
48:30. Так разве [powName] - это не деструктуризация массива? Хотя, тогда по логике должно получиться название просто 'p' по первому элементу строки 'pow'
@RK-gm4pd
@RK-gm4pd 4 жыл бұрын
скорее computed property stackoverflow.com/questions/50376353/wy-we-need-to-put-e-target-name-in-square-brackets stackoverflow.com/questions/1184123/is-it-possible-to-add-dynamically-named-properties-to-javascript-object?rq=1
@antonparhom1251
@antonparhom1251 3 жыл бұрын
Здравствуйте Тимур Гафарович! Скажите почему при объявлении индетификаторов функций и массивов мы делаем через const ?
@TimurShemsedinov
@TimurShemsedinov 3 жыл бұрын
Потому, что мы не собираемся их переприсваивать, ссылки не изменятся. А если бы нужно было менять, то let бы использовали, но этого лучше избегать.
@antonparhom1251
@antonparhom1251 3 жыл бұрын
@@TimurShemsedinov Спасибо!
@TheZloymedved
@TheZloymedved 3 жыл бұрын
Если намберы и булеаны хранятся напрямую в стеке вызовов, то вопрос по вот такому коду: ``` function f() { num = 1; fetch(...).then(() => console.log(num)); } f(); ``` Коллбек внутри then выполнится по завершении http-запроса, к тому времени call stack будет уже очищен, возможно даже несколько раз. Где же в это время хранится переменная num?
@TimurShemsedinov
@TimurShemsedinov 3 жыл бұрын
В замыкании (closure)
@TheZloymedved
@TheZloymedved 3 жыл бұрын
@@TimurShemsedinov Кажется, разобрался, прошу поправить, если я где-то ошибся: в замыкании хранятся ссылки на все внешние лексические окружения, даже когда из call stack их родительские execution contexts уже выброшены. При этом само замыкание хранится в куче до тех пор, пока на него есть ссылка (в моем примере ссылка изнутри промиса).
@TimurShemsedinov
@TimurShemsedinov 3 жыл бұрын
@@TheZloymedved да, это может приводить к утечкам памяти, если не понимать, что держит замыкание, но вообще - очень удобно
@michaileserkheev3826
@michaileserkheev3826 2 жыл бұрын
что за редактор используется 18:43
@TimurShemsedinov
@TimurShemsedinov 2 жыл бұрын
mcedit, это часть файлового менеджера midnight commander
@o_leh
@o_leh 6 жыл бұрын
то что вы говорите об оптимизирующих компиляторах, это касается только ноды, или браузерного JS тоже?
@TimurShemsedinov
@TimurShemsedinov 5 жыл бұрын
Хрома с V8 в первую очередь, но и другие движки оптимизируют похожим образом. Лучше всего ориентироваться не на конкретный движок, а на здравый смысл, теорию типов и оценку сложности алгоритмов, тогда есть вероятность, что разработчики виртуальных машин на это же ориентировались.
@o_leh
@o_leh 5 жыл бұрын
@@TimurShemsedinov спасибо
@antonparhom1251
@antonparhom1251 3 жыл бұрын
Спасибо Тимур Гафарофич за интересную лекцию! Скажите в каких случаях нужно использовать лямбда функцию?
@TimurShemsedinov
@TimurShemsedinov 3 жыл бұрын
Во всех слкчаях, кроме функций, которые становятся методами прототипов, классов и объектов, т.е. везде, где не нужен this.
@voidshah
@voidshah 5 жыл бұрын
Тимур, вы говорили в лекции за лекции Степанова. Можно ссылку?! И еще такой вопрос. Ваше отношение к TypeScript? Пишете на нем?!
@TimurShemsedinov
@TimurShemsedinov 5 жыл бұрын
Я постоянне не пишу на тайпскрипте, но для некоторых лекций буду его использовать, например kzbin.info/www/bejne/qGe6Y61pebabpas
@TimurShemsedinov
@TimurShemsedinov 5 жыл бұрын
Лекции Степанова в плейлисте у меня в канале kzbin.info/aero/PLHhi8ymDMrQb4sVDBsN5y14X4BoAUU6Sh
@voidshah
@voidshah 5 жыл бұрын
@@TimurShemsedinov Еще раз благодарю!
@voidshah
@voidshah 5 жыл бұрын
@@TimurShemsedinov как по мне TS перекрывает многие недостатки чистого JS, особенно это касается типизации и статического анализа кода, даже если не брать во внимание дженерики, декораторы и прочее
@rtfmetal
@rtfmetal 5 жыл бұрын
@@voidshah если бы динамическая типизация была бы недостатком, то JS бы сделали со статической типизацией =)
@ondreeey3004
@ondreeey3004 Жыл бұрын
42:40: "Ну, это практически eval. Это неприлично." eval - функция, чье имя нельзя произносить вслух😆
@WMorgun
@WMorgun 5 жыл бұрын
а где док найти, о котором говорится в лекции?) Хочу получше узнать, что функция наследует еще
@TimurShemsedinov
@TimurShemsedinov 5 жыл бұрын
Это? developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function
@WMorgun
@WMorgun 5 жыл бұрын
@@TimurShemsedinov да! Благодарю!)
@pudzia20100
@pudzia20100 3 жыл бұрын
Вопрос: const sum = new Function('a, b', 'return a + b'); const sum1 = (a,b) => (a+b); console.dir({ name: sum.name, //name: 'anonymous, name1: sum1.name, //name: 'sum1' Почему тут выводит имя а а для sum нет? length: sum.length, toString: sum.toString(), });
@eugenekarpenko9799
@eugenekarpenko9799 6 жыл бұрын
Видео остановлено на примере 4. Разбор остальных примеров в видео не попал?
@TimurShemsedinov
@TimurShemsedinov 6 жыл бұрын
Там уже идут функторы и чеининг, аналогичные примеры можно посмотреть в kzbin.info/www/bejne/hpfYdpl_nrGLaZY и kzbin.info/www/bejne/aYual2N9np2jrtk Возможно даже где-то эти разобраны.
@eugenekarpenko9799
@eugenekarpenko9799 6 жыл бұрын
​@@TimurShemsedinov Спасибо. В пределах данной лекции интересно было бы еще про функции шаблонизации рассказать
@TimurShemsedinov
@TimurShemsedinov 6 жыл бұрын
@@eugenekarpenko9799 Шаблонизации строк f`...` ?
@pavlezt
@pavlezt 6 жыл бұрын
В прикладі про default звучало що новомодні default і старі || одинакові. Але я думаю тут важливо було наголосити шо якшо в параметри передавати наприклад 0 то в стилі || значення замінить, а в default залишиться 0
@TimurShemsedinov
@TimurShemsedinov 6 жыл бұрын
Да, это существенное замечание, спасибо
@mirdizayna
@mirdizayna 6 жыл бұрын
Дополню комментатора выше, для тех кто читает по диагонали: const a = (b = 'default') => { return b; // вернет дефолтное значение, только если в функцию не будет передан параметр или его значение будет undefined }; const c = (d) => { return (d || 'default'); // вернёт 'default' в случае, если логическое значение d приводится к false, а это любой из (false, 0, "", null ну и undefined) }; // пример: console.log(a(),a(undefined),a(null),a(0),a(false), a('')); console.log(c(),c(undefined),c(null),c(0),c(false), c(''));
@bayalesko7956
@bayalesko7956 2 жыл бұрын
По комментариям видно что кроме меня некого не заинтересовало почему компьютер Тимура зарядилось всего на %1 за 2 часа 😅
@TimurShemsedinov
@TimurShemsedinov 2 жыл бұрын
В старых версиях федоры не обновляется заряд на диапазоне 98-100%, уже давно поправлено
@Karmazins
@Karmazins 6 жыл бұрын
Добрый день ! Проясните пожалуйста вопрос . Почему вы говорите , что функция принимает аргументы , если она принимает параметры ? Все параметры вы называете аргументами . Спасибо
@TimurShemsedinov
@TimurShemsedinov 6 жыл бұрын
Синонимы
@Karmazins
@Karmazins 6 жыл бұрын
@@TimurShemsedinov спасибо
@oleglagoda3931
@oleglagoda3931 5 жыл бұрын
@@Karmazins Параметры - это локальные переменные внутри функции, а аргументы это те значения которые мы передаем в функцию при ее вызове и тем самым инициализируем параметры.
@anastasiagolunova
@anastasiagolunova 5 жыл бұрын
Спасибо за лекцию! но возник вопрос: почему const a = Math.sin; - функция const a = 5; - coздание константы ?
@СергейВареник-б1т
@СергейВареник-б1т 5 жыл бұрын
Если я правильно понимаю, то это одна из идей функционального программирования. "Функции первого класса". Могут передоваться в аргументы, возвращаться другой функцией, присваиваться. Если вы не понимаете в чем отличие между function setFn() {} и var setFn = function () {}, посмотрите пожалуйста статьи на тему function expression vs function declaration
@TimurShemsedinov
@TimurShemsedinov 5 жыл бұрын
const a = 5; лучше называть объявлением идентификатора (даже допустимо сказать - объявление переменной). Потому, что константы пишутся большими буквами const TIMEOUT = 5000;
@getfunbyfifa2825
@getfunbyfifa2825 6 жыл бұрын
где потренироваться?
@TimurShemsedinov
@TimurShemsedinov 6 жыл бұрын
В некоторых лекциях я даю задания, но позже я что-то придумаю с практикой и опубликую
@getfunbyfifa2825
@getfunbyfifa2825 6 жыл бұрын
@@TimurShemsedinov не смог найти репозиторий с заданием декомпозиции
@TimurShemsedinov
@TimurShemsedinov 6 жыл бұрын
@@getfunbyfifa2825 Декомпозиция по слоям - github.com/HowProgrammingWorks/AbstractionLayers/tree/master/JavaScript Декомпозиция функциональная - github.com/HowProgrammingWorks/Abstractions/tree/master/JavaScript
@malkovan
@malkovan 4 жыл бұрын
Это задание из темы Функции, лямбды, контексты, замыкания в JavaScript ссылка на GitHub: github.com/HowProgrammingWorks/Closure Первое задание: github.com/HowProgrammingWorks/Closure/blob/master/Exercises/1-seq.js Решение подразумевает, просто какую-то дикую вложенность! Это пример из правильного решения ( seq(c => a(b(c))) ) как вообще можно это прочитать? Второе задание. Я не нашёл ни одного примера на Гитхабе, где находится курс HPW, где бы Вы объясняли этот материал до этого задания (второго). Как в таком случае необходимо проходить обучение по Вашему курсу, если последовательное прохождение лекций и выполнение заданий подразумевает получение дополнительных знаний, которые Вы не освещаете? При этом позиционируете курс как начальный в программировании. В данном частном случае, укажите, пожалуйста, где в Вашем курсе находится материал освещающий возможность делать такие конструкции как в задании номер 2? Решение должно быть по типу ( const f = () => {}, f.push = a => {} ) для примера? На основании какаго материала из Вашего курса должно быть понимание как выполнить это задание?
@jamjam3337
@jamjam3337 2 жыл бұрын
👏👍
@boycovclub
@boycovclub 3 жыл бұрын
Закинули бы вы этот курс в Udemy и денежку хорошую заработали вы, а также мы получили сертификаты, о то что прослушали ваш курс)
@TimurShemsedinov
@TimurShemsedinov 3 жыл бұрын
Не очень интересно мне это. А сертификаты я сам выдаю, зачем мне удемия?
@boycovclub
@boycovclub 3 жыл бұрын
@@TimurShemsedinov а на каком портале и где вы свои курсы преподаете?
@TimurShemsedinov
@TimurShemsedinov 3 жыл бұрын
@@boycovclub У меня курсы открытые, вот они github.com/HowProgrammingWorks/Index
@boycovclub
@boycovclub 3 жыл бұрын
@@TimurShemsedinov спасибо )
@valovweb
@valovweb 6 жыл бұрын
также в файле 5-default в последнем примере можно использовать деструктуризацию для задания параметров по умолчанию , например так: function fnHash({ a: a = [7, 25, 10], b: b = 'Hello', c: c = 100}) { const args = {a, b, c}; console.log(a); console.log(b); console.log(c); console.log(args); } const args = {a: 10, b: 20}; fnHash(args);
@valovweb
@valovweb 6 жыл бұрын
также этот способ позволит избежать мутации переданного объекта args.
@dmitripolevoi4473
@dmitripolevoi4473 3 жыл бұрын
У нео из матрицы такая же ide
@aleksprimetv
@aleksprimetv 3 жыл бұрын
Работаю на фронте уже 1,5года и все равно узнаешь какие то интересные моменты, не смотря на то, что это основы)
@dm.hol.3624
@dm.hol.3624 3 жыл бұрын
Да я три года работаю во фронте, за первые две минуты понял, что в айти мне делать нечего - я ничего не знаю //_\\
@centralcat3325
@centralcat3325 Жыл бұрын
@@dm.hol.3624 ты на том фронте который с автоматами что ли?
@oleksandrlypko3117
@oleksandrlypko3117 6 жыл бұрын
Буде круто, якщо викладете лекції у вигляді підкасту)
@TimurShemsedinov
@TimurShemsedinov 6 жыл бұрын
Без видео не получится. Как код показать?
@berberisbellis4085
@berberisbellis4085 6 жыл бұрын
Подскаты обычно не такие информативные
@pavlezt
@pavlezt 6 жыл бұрын
будеш в голові код писать і компілить?
@MrR-k2v
@MrR-k2v 5 жыл бұрын
Если честно, то вообще не понял из этой леции что такое замыкание. medium.com/@sshambir/%D0%BE%D1%81%D0%B2%D0%B0%D0%B8%D0%B2%D0%B0%D0%B5%D0%BC-%D0%B7%D0%B0%D0%BC%D1%8B%D0%BA%D0%B0%D0%BD%D0%B8%D1%8F-%D0%B2-javascript-5b83267ef7d1 Вот хорошая статья, которая рассказывает откуда берется замыкание, почему переменные после работы функции все еще доступны и как оно работает
@gazoo_the_great
@gazoo_the_great Жыл бұрын
лекции читаются в стиле "ну, эт самое, как бы оно"
@IHORhoncharenko
@IHORhoncharenko Жыл бұрын
Советовали Вас..отметил для себя что как специалист Вы очень сильный..но как преподаватель - нет. С областью видимости как то так все сумбурно объяснили..могли бы хотя бы продебажить скрипт что бы наглядно показать как построчно обрабатывается код и что откуда берется...либо как то иначе..Ваш вариант объяснений мне не зашел. Субъективное мнение.
@demimurych1
@demimurych1 4 жыл бұрын
Не очень понятно как можно начать лекцию с упоминания о работе оптимизатора, коснуться проблем мономорфизма и полиморфизма , чтобы потом начисто забыть об этом и давать вредные советы про a = a || 'defaultValue' и иже с ним.
@Mshdry
@Mshdry 4 жыл бұрын
Sorry, but Kyiv. Not Kiev.
@TimurShemsedinov
@TimurShemsedinov 4 жыл бұрын
Kyiv is a translit, Kiev is an English word
@Mshdry
@Mshdry 4 жыл бұрын
@@TimurShemsedinov I respect your opinion, but it's wrong. In June 2019, at the request of the United States Department of State, the Embassy of Ukraine to the United States, and Ukrainian organizations in America, the name Kyiv was officially adopted by the United States Board on Geographic Names as the only correct one, which resulted in the federal government of the United States using only the new name. The source is Foreign Names Committee (FNC) Documents geonames.nga.mil/gns/html/PDFDocs/BGNStatement_Kyiv.pdf
@TimurShemsedinov
@TimurShemsedinov 4 жыл бұрын
@@Mshdry US Department of State isn't a right body to change rules of English language, and referring to authority isn't a right way to argue
@schwarzbrecht7624
@schwarzbrecht7624 Ай бұрын
​@@Mshdry Хаха, чет выпал с типа. Надо же умудриться зайти в руяз видео и затирать про корректность названий :)))
@Antonio-fm1sq
@Antonio-fm1sq 3 жыл бұрын
Спасибо!
🎧 Введение в программирование (1 часть)
1:39:39
Жездуха 42-серия
29:26
Million Show
Рет қаралды 2,6 МЛН
번쩍번쩍 거리는 입
0:32
승비니 Seungbini
Рет қаралды 182 МЛН
I Sent a Subscriber to Disneyland
0:27
MrBeast
Рет қаралды 104 МЛН
Что такое и как работают замыкания (closures) в JavaScript?
13:55
Пишем игру на JavaScript & Canvas | ПЕТ-ПРОЕКТ | Игра Flappy Bird
20:05
profrontend | Екатерина Нанивская
Рет қаралды 2,2 М.
💻 Базовый синтаксис JavaScript
1:21:35
Timur Shemsedinov
Рет қаралды 75 М.
Чудовищно функциональный JavaScript
21:31
Как пройти в IT?
Рет қаралды 55 М.
JavaScript Паттерны. Шаблоны проектирования. 17 Примеров
1:54:30
Жездуха 42-серия
29:26
Million Show
Рет қаралды 2,6 МЛН