JavaScript - от this до прототипов | Юрий Федоренко

  Рет қаралды 64,397

Hillel IT School

Hillel IT School

Күн бұрын

Если нужно что-то понять про Front-end специалиста с двух вопросов, надо попросить его рассказать две вещи:
1 - Про this в Javascript
2 - Про прототипы в Javascript
Это темы, которые невозможно обойти на качественном собеседовании по Javascript.
Справочник по Front-end - itwiki.dev/front-end
Канал Юрия в Телеграме: goo.gl/UDDPjd
И дополнительный бонус на тему js: статья Дмитрия Сошникова goo.gl/MRn3AH
00:00 - Вступление
0:25 - Про this в Javascript
0:58 - Динамичность this
2:10 - Чему и когда будет равен this
3:59 - Прототипное наследование
5:50 - Зачем нужны прототипы
6:59 - Функции как объект
11:33 - Вызов функции с помощью оператора new
12:47 - Послесловие
Компьютерная Школа Hillel
Сайт: ithillel.ua
Facebook: / hillel.it.school
Instagram: / hillel_itschool

Пікірлер: 111
@enigma9445
@enigma9445 2 жыл бұрын
Спасибо друг, лучшее explanation 👏
@HillelITSchool
@HillelITSchool 2 жыл бұрын
Раді, що стали в нагоді 💙
@alexandertsvetkov6120
@alexandertsvetkov6120 4 жыл бұрын
Вот бы всем так объснять! Спасибо, все стало на свои места!!!
@pandaskeptic2937
@pandaskeptic2937 5 жыл бұрын
Отличное видео! 👍 👍 👍 10:18 вместо равно минус должен стоять, а то код ошибку выдаст.
@vasya8441
@vasya8441 4 жыл бұрын
согласен, долго думал чего не выходит, там же вычитается, они не проверили код и сделали видео
@puzzle2012
@puzzle2012 Жыл бұрын
Блин, не мог понять как этот код должен работать. Написал тестовую страницу, получил ошибку, понял, что ошибка в коде из видео. И только потом заглянул в комментарии )
@user-we9hx5vf1j
@user-we9hx5vf1j 6 жыл бұрын
Круто, спасибо!
@user-km9br1oe8r
@user-km9br1oe8r 5 жыл бұрын
Спасибо большое, очень рад что нашел ваш канал
@christinalozovaya5860
@christinalozovaya5860 4 жыл бұрын
суперски объясняешь, спасибо!
@fruitypie
@fruitypie 6 жыл бұрын
Супер, спасибо за видео) Сделайте видео о функциях высшего порядка в связке с call,bind,apply
@zatoprosto103
@zatoprosto103 6 жыл бұрын
Очень хорошо. Спасибо.
@radist126
@radist126 4 жыл бұрын
Классное видео. Спасибо. Начал понимать!!
@user-hx1qi7sw1q
@user-hx1qi7sw1q 2 жыл бұрын
Однозначно Лайк!!
@leitohardy9679
@leitohardy9679 5 жыл бұрын
Чел реально отлично преподает JS!
@demetrio_dede
@demetrio_dede 4 жыл бұрын
Спасибо.Очень доходчиво)
@dmytrohelbak
@dmytrohelbak 5 жыл бұрын
Супер объяснение, супер материал, супер спасибо!!!
@user-qn7ti7tx4i
@user-qn7ti7tx4i 3 жыл бұрын
Спасибо, объяснения супер!
@jonecramer3870
@jonecramer3870 4 жыл бұрын
Очень доходчиво, спасибо)
@nicothin
@nicothin 5 жыл бұрын
Отличное видео. Но как-же много перебивок. Одна даже в середине предложения :(
@yurafedorenko1218
@yurafedorenko1218 5 жыл бұрын
у некоторых "опытных" спикеров иногда не получается целое предложение записать одним дублем))
@user-kl4yk8tm2b
@user-kl4yk8tm2b 5 жыл бұрын
Уже, наверное, раз пятый пересматриваю видео. С каждым разом все более осознанно. Отличное видео, просто класс!!
@alexkot1265
@alexkot1265 6 жыл бұрын
Столь лаконичное и информативное видео сегодня на вес золота. Хочется посмотреть еще что-нибудь. Так же было бы здорово систематизировать знания с телеграмм-канала, он хорош.
@object_undefined
@object_undefined 6 жыл бұрын
Отличное обьяснение!
@codedreams3209
@codedreams3209 5 жыл бұрын
Спасибо дядя, очень классно получается
@user-qg5fi2eq6k
@user-qg5fi2eq6k 4 жыл бұрын
Самое простое объяснение классов. Спасибо =)
@micoberss5579
@micoberss5579 6 жыл бұрын
Spasibo vam
@alexiki3523
@alexiki3523 5 жыл бұрын
Спасибо. Потешил!
@user-ec4mr9yp3r
@user-ec4mr9yp3r 4 жыл бұрын
Отличное видео!!!!!
@dmytrodemydenko3534
@dmytrodemydenko3534 5 жыл бұрын
Спасибо. Наконец то я понял что такое __proto__ && prototype :)
@maratgumerov2840
@maratgumerov2840 2 жыл бұрын
а я вот запутался)
@annpm1978
@annpm1978 3 жыл бұрын
Круто!! Молодец!!👍👍👍
@makarofff11
@makarofff11 4 жыл бұрын
Спасибо!
@user-108andalu
@user-108andalu 4 жыл бұрын
Наверное, лучшее на всем пространстве видео на данную тему. Докопались с какой-то опиской в коде. Простейший же код, че млин голову ломать. Сначала сами попробуйте подобного рода создать что-нибудь... Гениальный видос. Юрий, очень нужны ваши видео на прочие темы JS, вы великолепны
@valexxjr
@valexxjr 5 жыл бұрын
Зыс 😁 Спасибо за информативный ролик)
@frednoby8531
@frednoby8531 5 жыл бұрын
Можете снять урок по геттерам и сеттерам в JS? Вот ни один источник доходчиво и просто не объясняет суть этого.
@user-zg3vt6zh6y
@user-zg3vt6zh6y 6 жыл бұрын
бесит вечно мигающая яркая заставка) а видео норм) примеров бы больше
@joylz7045
@joylz7045 5 жыл бұрын
Я не одинок!
@angrycatstudio2816
@angrycatstudio2816 4 жыл бұрын
Ты крут.
@romansvidunovich3282
@romansvidunovich3282 4 жыл бұрын
Класс! Я почти два час потратил пытаясь это всё объяснить. Спасибо!
@user-oc6hw8xd3n
@user-oc6hw8xd3n 6 жыл бұрын
Отличная подача! Все стало понятно, спасибо!
@SafetyLast-_-
@SafetyLast-_- 2 жыл бұрын
Юра, когда ты расскажешь о том кто такой "Area Lead" ? :) P.S. Подкаст интересный! Продолжайте в том же духе 👍
@bvfromruvitaliy
@bvfromruvitaliy 2 жыл бұрын
Пересмотрел второй раз после двух недель изучения теории на эту тему. Теперь смутило, что ничего не сказали про скрытое свойство [[prototype]]. А ведь по сути это оно содержит ссылку на прототип обьекта, а __protto__ - это всего лишь геттер/сеттер для него.
@raul_duken
@raul_duken 4 жыл бұрын
11.56 ссылка proto нового обьекта будет ссылаться на тот обьект что лежит в свойстве prototype в функции, А КАК же то что она должна ссылаться на function.prototype, как же call() и apply()?
@bvfromruvitaliy
@bvfromruvitaliy 2 жыл бұрын
Юрий, вы очень понятно объясняете! Хочется больше таких видео. Но на канале что-то не очень много их нашел. :( Может не там искал?
@HillelITSchool
@HillelITSchool 2 жыл бұрын
Вот плейлист со всеми видео Юрия - kzbin.info/aero/PLuEo4W0EBxtWOf1CZQNmqzwRWG9xeTOZ6
@scape4632
@scape4632 5 жыл бұрын
Сними видос про ООП js, es6
@alisergazy4564
@alisergazy4564 6 жыл бұрын
Классно, ваще четко, закрепил свои знания, спасибо большое, давайте дальше про ТРИ КИТА в JS на классасх и как раз там расскажите про стрелочные
@hacksaw_raw
@hacksaw_raw 6 жыл бұрын
Круто получилось. Продолжайте
@PacoOfficial
@PacoOfficial 5 жыл бұрын
мне вот эта тема с прототипами в js прям нрав, как оно всё наследуется от прототипа и т.д
@ihortsarenko3119
@ihortsarenko3119 4 жыл бұрын
Освіжив перед співбесідою :) Дякую!
@boycovclub
@boycovclub 5 жыл бұрын
Самый понятное объяснение спасибо
@N5O1
@N5O1 4 жыл бұрын
Класс - это функция, а функция - это объект, у объекта есть прототипы. __proto__ - ссылка на список прототипов родителя. This - ссылка на метод или какое-то значение объекта, в котором вызывается функция. Так?
@ssurrokk
@ssurrokk 3 жыл бұрын
🔥
@user-kp6dn5qt4l
@user-kp6dn5qt4l 4 жыл бұрын
Это вы объяснили прототипы на ES5?
@dimaelmoTV
@dimaelmoTV 6 жыл бұрын
Годно прям
@andreytsapko4213
@andreytsapko4213 6 жыл бұрын
Полезно, сэнкс!
@stanislavivko7329
@stanislavivko7329 4 жыл бұрын
Только начал. И по-моему этот видос для тех кто и так в теме, так как нифига не проячнил. Про this я и сам знаю, так что все понял. Про proto нифига не знаю, но спасибо, теперь я знаю что есть какая-то непонятная штука которая неизвестно зачем нужна, но наверняка очень полезная, ага. И 10500 перебивок. Это блянупиздец. Буду рисовать крутые схемки со стрелочками и не покажу ни одного нормального примера, что б выглядеть умным, а потом запущу перебивку и поехали к следующей теме
@juliusmalkov9620
@juliusmalkov9620 4 жыл бұрын
отличное видео, но где ещё?)
@Ratelchief
@Ratelchief 5 жыл бұрын
в конце цепочки - __proto__ -вернется null, а не undefined. видео полезное и наглядное.
@yurafedorenko1218
@yurafedorenko1218 5 жыл бұрын
имеется ввиду, что если запрашиваемое свойство не найдено, то вернется undefined
@alexdang2357
@alexdang2357 5 жыл бұрын
nice
@fedotnetot3876
@fedotnetot3876 4 жыл бұрын
Борода, это лучшее толкование this и prototype, которое можно найти, молодец.
@fedoskamcha3768
@fedoskamcha3768 3 жыл бұрын
САмое крутое объснение которое я видел\
@orcsamuro9687
@orcsamuro9687 2 жыл бұрын
Спасибо, у меня сложился пазл
@andreyp2632
@andreyp2632 5 жыл бұрын
класс, хорошее видео , делай больше про js для начинающих. И маленький совет, поменьше заставок с картинкой - мы вам перезвоним, сильно отвлекает.
@Vitlsa
@Vitlsa 5 жыл бұрын
2:30 - use strict делает this undefined - у меня получилось всё равно window, как я не старался...
@RavenTheX
@RavenTheX 5 жыл бұрын
Магия какая то, скорее всего где то у тебя ошибка в коде...
@user-jj9wv5vk3x
@user-jj9wv5vk3x 5 жыл бұрын
вот код, попробуй, u-d, без строгача объект window 'use strict' function g() { console.log(this); } g();
@PacoOfficial
@PacoOfficial 5 жыл бұрын
прикона
@rinatvaliullov3247
@rinatvaliullov3247 6 жыл бұрын
Кажется по поводу __proto__, если в Object.prototype нет свойства, то возвращается null, а не undefined (5:33)
@alisergazy4564
@alisergazy4564 6 жыл бұрын
Нет, неверно, ubdefined как раз таки и означает что там ничего нету, а null этого гарантировать не может, т.к null означает что это свойство уже явно создано, но пустое, а null т.к будет присвоен не примитив и самое важное, что он будет присвоен, так что null там далеко нету
@fruitypie
@fruitypie 6 жыл бұрын
Object.prototype ссылается на null, а при поиске свойств в цепочке и их несуществовании в нем, возвращается undefined :)
@rinatvaliullov3247
@rinatvaliullov3247 6 жыл бұрын
то есть то, что в консоли в хром дев тулз выводится и есть то, на что ссылается Object.prototype
@fruitypie
@fruitypie 6 жыл бұрын
Чтобы узнать, на что ссылается Object.prototype, нужно написать следующее: Object.prototype.__proto__
@yurafedorenko1218
@yurafedorenko1218 6 жыл бұрын
так стоп, вот тут случается подмена понятия)) если нет свойства то возвращается undefined, а вот Object.prototype.__proto__ указывает на null, но это вообще не одно и то же
@dmytro-skh
@dmytro-skh 5 жыл бұрын
Отличное видео, наконец то я понял разницу и зачем так дурацки создаются конструкторы
@eugenenovikov671
@eugenenovikov671 4 жыл бұрын
var obj = {arr:[1,2,3], f:function(){this.arr.forEach(function(el){ тут this равен undefined - почему? })}}
@vlad-yelnikov
@vlad-yelnikov 4 жыл бұрын
Здесь this - объект, все как и должно быть. Если ты про то, что в консоли браузера показывает undefined, то это результат возврата функции, если она ничего не возвращает (как у тебя), то будет выводиться undefined в консоль. Это нормально и к this никак не относится. P.S. На будущее - лучше давай ссылку с нормально отформатированным кодом (с отступами и т.д.) на pastebin или что-то подобное - чтоб проще читалось. А в том виде, как ты сюда в комменты скинул - далеко не каждый будет смотреть и разбираться, что там у тебя не работает.
@Mamikonars
@Mamikonars 5 жыл бұрын
Тысячный лайк ;)
@WapSter92
@WapSter92 5 жыл бұрын
Не хватает примеров для понимания, тоже самое можно в книжке прочитать == лекции в универе
@slavkapiyavka
@slavkapiyavka 11 ай бұрын
5:32 - null, а не undefined
@HillelITSchool
@HillelITSchool 11 ай бұрын
Слушно, дякуємо!
@violmy
@violmy 6 жыл бұрын
класно! го веб по жесті js)
@ai4e277
@ai4e277 5 жыл бұрын
Ты крут, единственное реально нужно исправить глухую Г и слово када, заменить на когда. Удачи тебе 😉 очень классно рассказываешь
@user-jq3sz4hg6k
@user-jq3sz4hg6k 5 жыл бұрын
Зачем программистам доска?) нормально же вставляли код в первой части видео.
@user-on4ce8fg8s
@user-on4ce8fg8s 4 жыл бұрын
ОБj.
@larryunderwood615
@larryunderwood615 4 жыл бұрын
Зыс. Вындоу.
@user-hp2cg6px8c
@user-hp2cg6px8c 5 жыл бұрын
зыс
@petrvictorovich
@petrvictorovich 2 жыл бұрын
Нихера не понял, смотрим дальше.
@xxxxPomaHxxxx
@xxxxPomaHxxxx 5 жыл бұрын
На 1:46, функция копируется не по ссылке а по значению, если мы присвоили в свойство объекта функцию то есть он стал методом, то потом изменив исходную функцию мы сохраним в объекте изначальную.
@phpner
@phpner 4 жыл бұрын
Вы мне перезвоните ?
@progi99
@progi99 2 жыл бұрын
я в прототайп только играл, а так не понял о чем вообще речь была.
@alexsmurf5425
@alexsmurf5425 4 жыл бұрын
насчет минус прям в точку, походу автор комменты не желает читать, а вдруг у него и в следующих видео и в предыдущих есть подобные косяки. Мне интересно, он когда примеры свои пишет в консоли трудно запустить разок.
@andreyevichmak7
@andreyevichmak7 2 жыл бұрын
Это наверно только мне режит глаз, как вы пытатесь сделать вид, будто вы не читаете, а пытаетесь на ходу это рассказывать, поднимая глаза в верх или делая нелепые паузы. ничего личного ;)
@XGODsunXd1000X
@XGODsunXd1000X 4 жыл бұрын
глабальны абъект
@it8995
@it8995 4 жыл бұрын
круто, ничего не понятно
@nazarromanchuk6080
@nazarromanchuk6080 4 жыл бұрын
"Мы Вам перезвоним" - фу, нереально бісить!
@rightball1629
@rightball1629 Жыл бұрын
Че за бред написан на 10:17
@elijahgavrilov1686
@elijahgavrilov1686 2 жыл бұрын
у вас каша особенно в начале
@acckiygerman
@acckiygerman 3 жыл бұрын
Гребаная заставка бесит. Невозможно смотреть.
@xdarkfenixx
@xdarkfenixx 4 жыл бұрын
дизлайк за частую заставку
@vkgorodok
@vkgorodok 4 жыл бұрын
Слишком мало примеров кода, зато много говорильни.
@alexbel5599
@alexbel5599 5 жыл бұрын
Хорошая подача. Но гекаешь так сильно и в каждом слове, что аж отвлекает... А я из Украины...
@typokrat
@typokrat 5 жыл бұрын
Все прекрасно.. НО!!! Перестань ХЭЭЭКАТЬ! Уши режет ... ! Хээ Хээ Хээ
@user-rh6fc8ps7t
@user-rh6fc8ps7t Жыл бұрын
не return now.getFullYear() = this.born а return now.getFullYear() - this.born;
Замыкания в JavaScript | Юрий Федоренко
6:38
Hillel IT School
Рет қаралды 64 М.
狼来了的故事你们听过吗?#天使 #小丑 #超人不会飞
00:42
超人不会飞
Рет қаралды 59 МЛН
어른의 힘으로만 할 수 있는 버블티 마시는법
00:15
진영민yeongmin
Рет қаралды 9 МЛН
100❤️
00:19
Nonomen ノノメン
Рет қаралды 38 МЛН
Урок 5. JavaScript. Promise. Что это, как работает (+ пример)
23:18
Полиморфизм на практике
10:42
ExtremeCode
Рет қаралды 177 М.
Три поради, як вчитися ефективно
5:09
Hillel IT School
Рет қаралды 334
Полный гайд по JavaScript собеседованию. Все в 1 видео!
1:41:32