JavaScript - от this до прототипов | Юрий Федоренко
Вставка
- Опубліковано 11 лип 2024
- Если нужно что-то понять про 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
Спасибо друг, лучшее explanation 👏
Раді, що стали в нагоді 💙
Вот бы всем так объснять! Спасибо, все стало на свои места!!!
Спасибо большое, очень рад что нашел ваш канал
суперски объясняешь, спасибо!
Супер, спасибо за видео) Сделайте видео о функциях высшего порядка в связке с call,bind,apply
Уже, наверное, раз пятый пересматриваю видео. С каждым разом все более осознанно. Отличное видео, просто класс!!
Классное видео. Спасибо. Начал понимать!!
Круто, спасибо!
Супер объяснение, супер материал, супер спасибо!!!
Спасибо.Очень доходчиво)
Очень доходчиво, спасибо)
Очень хорошо. Спасибо.
Спасибо, объяснения супер!
Спасибо дядя, очень классно получается
Отличное обьяснение!
Самое простое объяснение классов. Спасибо =)
Отличное видео!!!!!
Круто!! Молодец!!👍👍👍
Spasibo vam
Чел реально отлично преподает JS!
Спасибо. Потешил!
Однозначно Лайк!!
Столь лаконичное и информативное видео сегодня на вес золота. Хочется посмотреть еще что-нибудь. Так же было бы здорово систематизировать знания с телеграмм-канала, он хорош.
Наверное, лучшее на всем пространстве видео на данную тему. Докопались с какой-то опиской в коде. Простейший же код, че млин голову ломать. Сначала сами попробуйте подобного рода создать что-нибудь... Гениальный видос. Юрий, очень нужны ваши видео на прочие темы JS, вы великолепны
Спасибо. Наконец то я понял что такое __proto__ && prototype :)
а я вот запутался)
Отличное видео! 👍 👍 👍
10:18 вместо равно минус должен стоять, а то код ошибку выдаст.
согласен, долго думал чего не выходит, там же вычитается, они не проверили код и сделали видео
Блин, не мог понять как этот код должен работать. Написал тестовую страницу, получил ошибку, понял, что ошибка в коде из видео. И только потом заглянул в комментарии )
Класс! Я почти два час потратил пытаясь это всё объяснить. Спасибо!
Спасибо!
Зыс 😁
Спасибо за информативный ролик)
Отличное видео.
Но как-же много перебивок. Одна даже в середине предложения :(
у некоторых "опытных" спикеров иногда не получается целое предложение записать одним дублем))
Отличная подача! Все стало понятно, спасибо!
Можете снять урок по геттерам и сеттерам в JS? Вот ни один источник доходчиво и просто не объясняет суть этого.
Ты крут.
Классно, ваще четко, закрепил свои знания, спасибо большое, давайте дальше про ТРИ КИТА в JS на классасх и как раз там расскажите про стрелочные
бесит вечно мигающая яркая заставка)
а видео норм)
примеров бы больше
Я не одинок!
Освіжив перед співбесідою :) Дякую!
Юра, когда ты расскажешь о том кто такой "Area Lead" ? :)
P.S. Подкаст интересный! Продолжайте в том же духе 👍
Сними видос про ООП js, es6
мне вот эта тема с прототипами в js прям нрав, как оно всё наследуется от прототипа и т.д
Круто получилось. Продолжайте
Юрий, вы очень понятно объясняете! Хочется больше таких видео. Но на канале что-то не очень много их нашел. :( Может не там искал?
Вот плейлист со всеми видео Юрия - ua-cam.com/play/PLuEo4W0EBxtWOf1CZQNmqzwRWG9xeTOZ6.html
11.56 ссылка proto нового обьекта будет ссылаться на тот обьект что лежит в свойстве prototype в функции, А КАК же то что она должна ссылаться на function.prototype, как же call() и apply()?
Самый понятное объяснение спасибо
🔥
Это вы объяснили прототипы на ES5?
отличное видео, но где ещё?)
Годно прям
Полезно, сэнкс!
Пересмотрел второй раз после двух недель изучения теории на эту тему. Теперь смутило, что ничего не сказали про скрытое свойство [[prototype]]. А ведь по сути это оно содержит ссылку на прототип обьекта, а __protto__ - это всего лишь геттер/сеттер для него.
nice
класс, хорошее видео , делай больше про js для начинающих. И маленький совет, поменьше заставок с картинкой - мы вам перезвоним, сильно отвлекает.
Борода, это лучшее толкование this и prototype, которое можно найти, молодец.
Только начал. И по-моему этот видос для тех кто и так в теме, так как нифига не проячнил. Про this я и сам знаю, так что все понял. Про proto нифига не знаю, но спасибо, теперь я знаю что есть какая-то непонятная штука которая неизвестно зачем нужна, но наверняка очень полезная, ага.
И 10500 перебивок. Это блянупиздец.
Буду рисовать крутые схемки со стрелочками и не покажу ни одного нормального примера, что б выглядеть умным, а потом запущу перебивку и поехали к следующей теме
прикона
САмое крутое объснение которое я видел\
в конце цепочки - __proto__ -вернется null, а не undefined.
видео полезное и наглядное.
имеется ввиду, что если запрашиваемое свойство не найдено, то вернется undefined
Класс - это функция, а функция - это объект, у объекта есть прототипы.
__proto__ - ссылка на список прототипов родителя.
This - ссылка на метод или какое-то значение объекта, в котором вызывается функция.
Так?
Спасибо, у меня сложился пазл
Тысячный лайк ;)
Отличное видео, наконец то я понял разницу и зачем так дурацки создаются конструкторы
Ты крут, единственное реально нужно исправить глухую Г и слово када, заменить на когда. Удачи тебе 😉 очень классно рассказываешь
var obj = {arr:[1,2,3], f:function(){this.arr.forEach(function(el){ тут this равен undefined - почему? })}}
Здесь this - объект, все как и должно быть. Если ты про то, что в консоли браузера показывает undefined, то это результат возврата функции, если она ничего не возвращает (как у тебя), то будет выводиться undefined в консоль. Это нормально и к this никак не относится.
P.S. На будущее - лучше давай ссылку с нормально отформатированным кодом (с отступами и т.д.) на pastebin или что-то подобное - чтоб проще читалось. А в том виде, как ты сюда в комменты скинул - далеко не каждый будет смотреть и разбираться, что там у тебя не работает.
класно! го веб по жесті js)
5:32 - null, а не undefined
Слушно, дякуємо!
2:30 - use strict делает this undefined - у меня получилось всё равно window, как я не старался...
Магия какая то, скорее всего где то у тебя ошибка в коде...
вот код, попробуй, u-d, без строгача объект window
'use strict'
function g() {
console.log(this);
}
g();
Кажется по поводу __proto__, если в Object.prototype нет свойства, то возвращается null, а не undefined (5:33)
Нет, неверно, ubdefined как раз таки и означает что там ничего нету, а null этого гарантировать не может, т.к null означает что это свойство уже явно создано, но пустое, а null т.к будет присвоен не примитив и самое важное, что он будет присвоен, так что null там далеко нету
Object.prototype ссылается на null, а при поиске свойств в цепочке и их несуществовании в нем, возвращается undefined :)
то есть то, что в консоли в хром дев тулз выводится и есть то, на что ссылается Object.prototype
Чтобы узнать, на что ссылается Object.prototype, нужно написать следующее: Object.prototype.__proto__
так стоп, вот тут случается подмена понятия)) если нет свойства то возвращается undefined, а вот Object.prototype.__proto__ указывает на null, но это вообще не одно и то же
Не хватает примеров для понимания, тоже самое можно в книжке прочитать == лекции в универе
Зачем программистам доска?) нормально же вставляли код в первой части видео.
зыс
Зыс. Вындоу.
На 1:46, функция копируется не по ссылке а по значению, если мы присвоили в свойство объекта функцию то есть он стал методом, то потом изменив исходную функцию мы сохраним в объекте изначальную.
Вы мне перезвоните ?
ОБj.
Нихера не понял, смотрим дальше.
я в прототайп только играл, а так не понял о чем вообще речь была.
насчет минус прям в точку, походу автор комменты не желает читать, а вдруг у него и в следующих видео и в предыдущих есть подобные косяки.
Мне интересно, он когда примеры свои пишет в консоли трудно запустить разок.
глабальны абъект
Че за бред написан на 10:17
Это наверно только мне режит глаз, как вы пытатесь сделать вид, будто вы не читаете, а пытаетесь на ходу это рассказывать, поднимая глаза в верх или делая нелепые паузы.
ничего личного ;)
круто, ничего не понятно
"Мы Вам перезвоним" - фу, нереально бісить!
у вас каша особенно в начале
Хорошая подача. Но гекаешь так сильно и в каждом слове, что аж отвлекает... А я из Украины...
Слишком мало примеров кода, зато много говорильни.
Гребаная заставка бесит. Невозможно смотреть.
дизлайк за частую заставку
Все прекрасно..
НО!!! Перестань ХЭЭЭКАТЬ!
Уши режет ... ! Хээ Хээ Хээ
не return now.getFullYear() = this.born а return now.getFullYear() - this.born;