Press "Enter" to skip to content

Prototype basics — Object Creation in JavaScript P3 — FunFunFunction #46


хорошее утро в понедельник, я mpj, и вы
Сегодня мы наблюдаем забавную функцию
пройдя абсолютные основы
прототипов, я собираюсь объяснить, что
прототипы — вот почему вы должны их изучать
и как они работают, это видео для вас
если вы исходите от другого
языка программирования, и вы уже
несколько знакомый с объектно-ориентированным
программирования, но вы смущены
как это сделать в JavaScript конкретно
это видео является частью серии на объекте
создание в JavaScript, и вы будете
вероятно, будет очень запутанным, если вы начнете
смотреть видео здесь вместо
видео с самого начала, чтобы вы
можно нажать на находку ссылку на
плейлист из полной серии в
описание эпизода, чтобы мы поговорили
немного о том , почему прототипы
вы должны изучить их и как они работают
какие прототипы вы, вероятно,
используется для выполнения наследования с классами
в JavaScript мы достигаем наследования
использование прототипов прототипов и классов
разные звери и реальный мир
эквивалент класса — это план, который вы
иметь проект здания, и вы
используйте этот проект здания для
создавать новые здания в реальном мире
аналогия прототипу, вероятно, была бы
делегат, как человек, которого вы голосуете
в офис, который может голосовать на вашем
от имени, так что, когда правительству необходимо
для принятия решения они
делегата вместо того, чтобы
миллионы людей и спрашивают, что они
потому что они делегировали это
Решение об их избранным делегатом многих
вы можете подумать, почему я должен
изучать прототипы, потому что в новых
версии JavaScript есть класс
ключевое слово, чтобы ваша реакция на коленный рефлекс могла
будьте винт этого прототипа shite Я просто
вместо этого используйте классы, но
рассуждения приведут вас к
две причины — первая причина в том, что
вы пропускаете прототипы или
очень простое и мощное наследование
модель это очень красиво и второй
Причина в том , что класс ключевое слово
JavaScript — это всего лишь тонкий слой вокруг
прототип фактически использует
прототип под капотом вы не можете
действительно избегать изучения
прототип, если вы хотите быть твердым
JavaScript-программист, потому что вы
всегда постоянно путайте, когда вы
см. бит и бобы прототипа
выкидывая из своих классов, которые вы
вы могли бы спросить, почему они добавили
ключевое слово класса вообще, если прототип
почему ты не женишься на
прототип причины, по которой были
добавлено в JavaScript, было просто, что
люди очень привыкли к занятиям и
запутанные прототипами, и они не
хотят узнать новые прототипы материала
по иронии судьбы, более простая концепция, чем
классов, но это все еще очень запутывает
входя в JavaScript, если вы очень
используется для модели наследования класса и
многим людям неудобно
изучения новых вещей и этой группы
люди, которые действительно не хотят учиться
ничего нового они очень сильны
и очень большие , поэтому классы были в
реализован в JavaScript поверх
прототип во многих различных формах, которые
сделал прототип еще более странным и
труднее понять, потому что всякий раз
вы читаете статью о наследовании в
JavaScript есть этот странный
Монстр Франкенштейна прототипа
и класс смешался в некоторых
ах страх узнать новые и
разные вещи на самом деле настолько велики, что
класс ключевых слов теперь фактически был
засунутый в стандарт es6, я не
обязательно подумайте, что это плохое решение
если люди абсолютно хотят
цепляться за свои классы и использовать
класс наследования модели, то, по крайней мере, мы
должны дать им стандартизированный способ
это как-то вроде
иглы для перетаскивания
даже если вы набросились на использование классов
в es6 вам все равно нужно понять
потому что он настолько укоренен в
как работает JavaScript
вы просто не можете избежать этого , как с
javascript вообще на самом деле давайте
просто научитесь любить эту вещь, потому что она
неизбежно , что там нам нужно
принять это хорошо , давайте начнем с
что-то чрезвычайно основное это происходит
чтобы быть темой этой серии, мы собираемся
научиться действительно изучать
Подробная информация о языке из
начало мы собираемся написать
функция , которая делает некоторый шум в
консоль
но ты собираешься поговорить ах
и он собирается console.log ах делать
звук, о, жалкий звук, и я пришел к
звоните, и этот переменный звук uh let’s
бегите, чтобы Сэм не жалел, что нам нужно пройти
это то, что я очень устал ах
что и мы запускаем, что нет
прототип пугает нас, и он говорит больше для
Я собираюсь сделать то же самое снова, но
Я собираюсь на этот раз, я собираюсь сделать
верхняя функция, о которой жаль, поэтому заблокируйте TT и
он собирается выбить этот звук
и мы собираемся назвать скачок разговоров
этот прототип waha dot является коллегой
файл, который и он будет возвращен
не определено, и это потому, что это в
этот случай будет вам
об этом говорили в предыдущем эпизоде
и действительно смотреть его , если вы еще не я
собираюсь это выпустить и просто дать вам
краткое резюме, подобное этому, теперь видно, что
этот
это заявление для печати здесь и здесь
большая задница объект здесь вот это
объект, что это такое, когда говорят
выполненный и, как вы видите здесь, как вы
см. заданное время и консоль
здесь , и это означает , что это
глобальный объект и глобальный объект
не имеет свойства звука, поэтому мы
чтобы назначить эту функцию разговора
объект животного назовем это животное
организация и животное собирается получить
верхняя функция в порядке звучит так
и мы собираемся хм, давайте просто позвоним
животное говорить животных не говорить вам сутенер
вы видите, что это заставляет нас ах все в порядке
поэтому, если мы не проверим это приложение,
утверждение журнала консоли здесь мы видим , что
на самом деле это сейчас равно животному
животного объекта, так что это будет
функциональный разговор и второй журнал консоли
заявление, что это он все еще
неопределенный, потому что животное, как вы видите
У меня нет звука. У меня есть
штатив вы Oh
этот эпизод — ах, я немного стеснен
честно, потому что я нажимаю
для Бразилии
Jas разговор , что у меня есть в конце
на этой неделе я лечу в Бразилию завтра
так в любом случае, когда мы вызываем функцию
как это , когда это назначено в качестве
свойство на объект, и мы его называем
это означает, что javascript
присвоит животное как СИО
контекст беседы, так что
слева от точки здесь будет
когда мы проводим разговор кстати
новая удобная функция на шее без скрипта
шесть — это то, что мы можем, когда у нас есть
присваивание, как это, где мы
назначая вверх
свойство с тем же именем, что и
переменную, которую мы присваиваем ей, мы
может просто опустить это, и это
то же самое, поэтому вы видите, как это будет
то же самое то же самое в любом случае это не
очень полезно, но давайте сделаем mm-hmm let’s
сделай ааа кошку, и мы собираемся
это , наконец,
звук прав, он скажет да БАМ и
теперь мы собираемся сделать этот набор объектов
прототип кошки, мы хотим установить, что
быть животным, пока я этого не сделаю
Я собираюсь прокомментировать это и просто сделать
попробуй кота-точечный разговор мм-хмм БАМ, он собирается
дают нам ошибку кошка говорит , что это не
правильно, потому что вы видите
у кота нет функции разговора, но
что, если мы это сделаем, мы переместим это
прежде чем мы поговорим о главе, мы установили
Прототипом кота быть животное не вы
запустите это, и теперь он работает
что происходит , когда мы делаем это, когда
мы получаем доступ к свойству крутящего момента здесь
cat, когда мы делаем это, что JavaScript
JavaScript-интерпретатор собирается сделать
он собирается пойти сюда и заглянуть внутрь
литерала объекта чата, и это
собираюсь пройти через это и увидеть, что хмм
есть ли здесь свойство беседы?
не
hmm почему, где могло бы существовать свойство беседы
то это интерпретатор JavaScript
интересно, и это может быть в
прототип спросит себя
это будет выглядеть в прототипе просто
не может быть прототипом, и мы увидим
что мы поставили перед собой прототип кота
быть животное , так что будет ходить к
прототип и посмотреть, как есть
собственность называется разговором там, и есть
ну ладно, тогда мы будем называть это
и это то, что происходит, так что это происходит
называть тот, который вы видите, что
ссылка здесь идет , и это будет
вызовите это, и он достигнет этого
линия , которая регистрируется здесь так
этот объект теперь будет кошкой
так что хотя есть прототип
цепи видят животное подобно D
контекст при разговоре по-прежнему
собираюсь быть кошкой, это не будет
хотя животное является
прототип все еще похож на кошку,
здесь находится центр внимания, который
по- прежнему будет это , когда вы называете
свойство объекта cat cat cat и что
случается, функция она по — прежнему
будет назначать это кошкой
хотя метод разговора не
действительно существует на кошке, которая существует на
на объекте прототипа животных я просто
собираюсь показать другой пример я даг
собака и звуковая крыша, и мы собираемся
объект не устанавливает прототип или собаку и
это будет животное, и мы
собираюсь делать собаку, не говори, я собираюсь
удалите эту строку здесь, чтобы долго
что-то в этом объекте и просто
один из них не звучит, и я
получил мяч, отправил мяу-куб восемь
настройте цепочку прототипов, если хотите, если
вы хотите несколько уровней, поэтому позвольте мне показать
вы, как это работает, я могу позволить
prairie-dog равно возможно, как функция
и я иду этот точечный звук в верхний регистр и
Я делаю телефон, проданный от Господа за UNK
позвольте мне ах назвать это прерий-собака точкой, как
это даст нам ошибку, если я
назовите его правильно ah bulk не может читать
свойство в верхний регистр неопределенного
потому что звук H здесь не определен и как
вы видите, что это просто потому, что хорошо
на собаке прерий нет звука, но если
мы перед вызовом , как прийти объект сказал
прототип О собаке прерии, чтобы быть собакой и
запустите его, он пойдет на корню или что-то
позвольте мне удалить материал кота все о
собаки сегодня , и это важно
понимать, что прототипы являются делегатами
они не создают копию
оригинальный объект животного или что-то еще
как эта собака фактически делегирует
прототип доступа к исходному объекту
поэтому они не работают, как классы, которые
создает своего рода копию из плана
так, например, скажем, что если я
изменить после установки прототипа
собака, чтобы быть животным, я иду и меняю
животное не говорит о чем-то другом
функция
так называемая консольная точка журнала о твоей матери 24
и я не знаю, докажи это время
как и вы видите, что я денежный
часть, потому что вы видите здесь как собаку
говорить здесь, даже если мы установили
прототип здесь к объекту животного
и мы меняем его после этой собаки
что все равно, когда мы обращаемся к этому
говорить здесь здесь JavaScript мы пойдем
и мы увидим, как хорошо хмм
на собаке нет обученного имущества
но похоже, что программист установил
прототип собаки, чтобы быть животным, поэтому я
собираюсь пойти смотреть животное, и все в порядке Я
глядя в животное здесь и здесь говорят
пойдите, там есть свойство беседы, но мы
изменилось, что будет сказано здесь, так что это не
собираюсь пойти сюда, потому что это было
переназначить это больше не существует ах это
был собран мусор, и теперь
здесь я пойду немного.
чайник все еще будет иметь доступ
к этому, как точки этого точечного звука
давайте убежим, что я маленький чайник, я
используя некоторые очень запутанные примеры здесь
это абсолютно ничего, как
вы используете прототип в реальной жизни, но
Я использую эти примеры, чтобы попытаться
вы должны понять, что прототип
просто способ сказать, что для этого
объект использует этот другой объект в качестве резервной копии
как делегата в качестве прототипа, если кто-то
вызывает мой объект с помощью
свойство, которое не существует на моем
объект go посмотрите в этом другом объекте, который
это прототип прототипа прототипа
из почти никогда не используется в реальных
приложений, но я использовал его здесь в
заказать бесплатно , чтобы попытаться получить вас из
класс мышления, который мы создаем
объекты с использованием объекта Я создам новый
и это и все, что
путает понятие много это просто
делегат, который мы назначаем объекту
это абсолютные основы в КНИГУ
прототип, просто показывая вам хотя бы
попытаться показать вам, что такое ядро
концепция прототипа — это либо
прототипы являются делегатами, которые у вас есть
смотрел эпизод веселой веселой функции I
выпустите их каждое утро в понедельник Oh
800 GMT, если у вас есть мысли
вопросы о прообразе
ознакомьтесь с разделом комментариев ниже и
добавьте свои комментарии или помогите кому-то еще
что запутано я постараюсь
помогите вам , если ни один из ваших
зрители быстрее Я буду mvj до следующего
один из лута
Я буду mpj до следующего утра в понедельник, спасибо
вы
Please follow and like us:

Be First to Comment

Добавить комментарий