Press "Enter" to skip to content

The ‘new’ keyword — Object Creation in JavaScript P4 — FunFunFunction #50


хороший понедельник утром я MPJ и вы
Сегодня мы наблюдаем забавную функцию
собираюсь продолжить серию на объекте
создание в JavaScript, и мы собираемся
для изучения нового ключевого слова, которое мы собираемся
говорить о новых, когда он применяется к
функций, о которых мы не будем говорить
наше новое применяется к классу, потому что
класс
является новой концепцией в сценариях действий в
агностик 6 и для того, чтобы понять
как это работает, нам нужно вернуться
и понять немного истории
и как классы были подделаны в ACMA
Сценарий 5 я хочу подчеркнуть , что это
если вы начнете смотреть это
эпизод перед просмотром любого из
другие вы будете в замешательстве
потому что они строятся друг над другом
вы можете найти полный список воспроизведения
щелкнув в описании эпизода
серия — глубокое погружение в область объекта
на JavaScript вы не собираетесь, если
вы просто хотите быстро узнать, как
создать объект в JavaScript и получить
начал вы знаете , как это не
для вас это, если вы похожи на
работа с JavaScript на год или
два, и вы действительно хотите понять
эти вещи с фундаментального уровня
в основном мы выслеживаем серьезно
о создании объекта здесь uh be warned
может это ты
whoa, это nessing reg, позвольте мне показать вам
я имею в виду , что новые применяются к функциям, поэтому
что вы точно знаете, что я имею в виду
возможно, вы видели это, когда
вы пытаетесь научиться делать, когда
вы сначала Google, как сделать класс в
JavaScript это общее, что вы найдете
это будет функция, и это
Будучи похожим на объект, скажите, что человек
и, возможно, у этого человека есть высказывание и
вы назначаете это
это будет говорить, говоря да и
то вы увидите что-то вроде
этот человек точка прото типа говорить и
будет функционировать, и это скажет
эта точка говорит, что сохранить консоль войдите в
сделай, и я собираюсь сказать, и вот так
и затем мы создаем человека, которого мы
собирается использовать var, потому что эти
примеры приведены в Коннектикуте v и
это будет похоже
Крокфорд, и это будет новый человек
и это будет полуколоны 1 1 1
вперед, и мы едем в Индию
чтобы сделать, тогда переходите к разговору Крокфорда и
мы будем запускать этот пример без точек да
койка, и я скажу, что говорю
с запятой 1 1 1 1 1 1 1 1 1 1 1 если вы
не получай кроку для шутки, это
парень в сообществе JavaScript, который
был активен в JavaScript для очень
очень долгое время , и он славится
книга под названием JavaScript хорошие части
и ему действительно не нравится
лимитирование точек с запятой в JavaScript I
имеют тенденцию опускать их, что раздражает много
люди, потому что они читали, что
Крокфорд сказал, и есть
на самом деле видео на всю точку с запятой
вопрос, который я сделал именно так, чтобы я
не придется отвечать все время
снова вы можете найти его в эпизоде
описание, почему мы должны даже беспокоиться
изучая это, почему бы просто не просто научиться
ключевое слово класса и забыть все это
старые вещи в
мой сценарий пять, и это просто старый
правда просто забыть об этом хорошо для о
Я могу думать по крайней мере о четырех причинах
первая заключается в том, что вы собираетесь запускать
через это это код, который вы
найдет, когда вы
JavaScript javascript — это
язык , который был вокруг очень
долгое время, поэтому, если вы профессионал
разработчик, с которым вы столкнетесь
код, написанный в стиле, который
а не абсолютную самую последнюю версию
JavaScript, и если вы хотите перейти от
быть хорошим разработчиком
разработчик, с которым вам нужно иметь дело
со всеми видами кода старого кода , включенных
вторая важная причина, по которой вы
могли бы хотеть , чтобы узнать , как это работает
что ключевое слово класса использует это
техника под капотом, поэтому класс
ключевое слово действительно просто тонкая синтаксическая
сахар, который на самом деле делает это за
сцены ключевое слово class в Atma
сценарий шесть — это бит так называемой негерметичной
абстракция, что означает, что вы
увидим бит и бобы этого
техника торчит, даже если вы просто
используйте ключевое слово класса, и если
вы не понимаете, что происходит
под капотом это вас смутит
Третья причина в том , что мы для того , чтобы
понимать или представлять, нам нужно
понять нашу историю, если вы, если вы
не понимаю, где JavaScript
исходя из того, как вещи были добавлены сверху
друг друга, и вы знаете, где вещи
пришел от вас не так у вас будет
гораздо труднее понять
почему язык выглядит так, как он это делает
Правда с миром в целом по
конечно, но это особенно ценно в
программирования, чтобы понять историю
вещи и четвертый, потому что мы в этом
мы просто пинаем
изучать каждый уголок и
язык этой функции на языке
это не самый современный способ
делать что-то, но оно не устарело
он не удален, он есть, и мы хотим
полностью понять JavaScript, потому что
мы хотим быть экспертами, потому что чувствую
хорошо, но вы хотите знать, что
точно , что это делают новые
танцевать я не буду не родной английский
также это место настолько грязное, как это
выглядит такой чистой , потому что это просто
стрельба в единственном районе и этом офисе
это не полный беспорядок, стол
сообщение просто груды вещей в этом
бумаги по всему полу , и вы просто о
Мне действительно нужно убрать , но я думаю , есть
назад с двух конференций и бюстгальтера, но
Я отвлекаюсь
так что происходит здесь, когда мы называем новые
человек, что именно происходит на новом
собирается сделать пару вещей
первое, что первый заказ бизнеса
что новый делает то, что он создает новый
объект просто простой объект ничего не делает
никаких свойств нет ничего второго порядка
бизнес заключается в том, что он будет смотреть на
что бы мы ни называли новыми, и это
чтобы проверить, что эти объекты
свойство прототипа здесь, и это происходит
установить прототип нового объекта
что он только что создал
объект третий, он снова посмотрит на
то, что мы назвали новым, есть
функцию, которую я сейчас собираюсь сослаться на
как конструктор, и он собирается
вызов этой функции, но это происходит
называть его новым объектом, чтобы он
созданный в шаге 1, назначенный этому
переменная здесь четвертый и последний шаг
что новый берет, чтобы вернуть
вы возражаете против его создания, а затем устанавливаете
прототип , а затем выполните
конструктор, где объект был
установить , как это , а затем возвращается к
объект, который мы получаем здесь как
это то, что мы назначили
Переменная Crockford, а затем вызов
поговорите, так это то, как классы
подделываются в сценарии Экмана шесть, если
часть прототипа смущает вас , потому что
вы обманули, а не наблюдаете
предыдущие эпизоды в этой серии вы можете
найдите плейлист серии, нажав
ниже, если вы не понимаете прототипы
и не смотрели предыдущие
Эпизоды на прототипах этот эпизод
просто спущу вас, но даже если вы
знать продукты, это было немного
сбив с толку, поэтому мы собираемся идти очень медленно
здесь и то, что я собираюсь сделать, это то, что я
собирается сделать вид, что новое ключевое слово и
не то, чтобы этого нового не существовало и
мы должны были бы построить его с помощью
вместо этого, так что это то, что я
мы будем делать мы будем просто
звоните сюда, и мы тут же
чтобы объявить функцию новой и
мы собираемся перестроить для меня новое
что-то перестраивать самостоятельно
отличный способ понять, как
что-то работает, так что
четыре вещи, которые новые делают первым
Дело в том, что мы хотим создать новую
объект, поэтому давайте сделаем это, что мы
все будет хорошо, мы собираемся назвать это
наш OB, и это новый объект, который мы
завершили одну из четырех
что um new делает номер два, мы собираемся
установите прототип, теперь мы узнаем, как это сделать
это в последнем эпизоде ​​прототип
эпизод, который мы будем называть объектной точкой
установить прототип или или слона, и мы
собирается установить его на
гудит грузовик дверь точечный прототипом и
первый аргумент, который мы собираемся дать
к новой — дверь конструкции и теперь
когда я смотрю на это, смотрите здесь.
не имеет смысла, потому что мы звоним
человек здесь, что это будет невозможно
мы должны сделать это или это не так
будет иметь смысл, так что первый
аргумент, что мы переходим к нашему
реализация new — это конструктор
по структуре или конструктору, а вторая
аргумент будет что угодно
аргументы, которые мы хотим передать
Конструктор поэтому мы устанавливаем
прототип здесь мы устанавливаем
прототип объекта к любому объекту
на прототип собственности
конструктор и помните, что мы
здесь, в качестве
конструктора и человека здесь, как
Прототип свойство мы устанавливаем говорили
и верхнее свойство этого объекта так
мы строим недвижимость здесь
прототип здесь и прототип
специальное свойство для каждой функции
объект, который вы создаете, потому что
функция — это объект в JavaScript .
немного, что дует, но когда
объект функции в JavaScript
он имеет свойство этого прототипа
автоматически не уверен, что он у него есть
по любой другой причине, чем для поддержки
эта вещь, я не думаю, что ах пожалуйста
комментарий в комментариях, если вы
знаю, что знаю по любой другой причине
но в любом случае с этой линией мы теперь
выполнили второй критерий, согласно которому
второй шаг, который делает это, что
установите прототип третьей вещи, которая
новое делает и что нам нужно
реинвестировать в нашу реинтеграцию
новый e
заключается в выполнении конструктора с помощью этого
установить на новые объекты, которые у нас были
создано нормально, это будет немного
немного странно, поэтому мы собираемся взять
конструктор, и мы будем называть add
лечь на это сейчас, вы могли бы или не могли быть
знакомый с применением, вы можете думать об этом
за исключением того, что он выполняет
функция немедленно и возвращает
и если вы не знакомы с
свяжите его, потому что вы не смотрели
предыдущие эпизоды в серии
щелкните описание
первый аргумент, который мы приводим, применяется
будет объект , который мы хотим
быть установленным как это и помнить, что
это будет объект , который мы
просто создал тот, который был в новом
объект здесь
второй аргумент, который применяет текст,
массив аргументов, которые мы хотим
вызвать функцию так, чтобы в случае
в тех людях , конструктору здесь это
будет массив с одним элементом
то же самое, теперь это будет
на практике то, что мы будем сожалеть
это то, что мы собираемся пройти
в о, кстати, я только заметил, что мы
есть один скобки слишком много здесь
так как мы на самом деле создаем эту вещь
динамически здесь, потому что мы не можем
его жестко закодированное, как это, это не
правильная реализация новых
передавая первый аргумент здесь, как
это конструктор, и тогда это происходит
быть похожими на аргументы, которые мы
передача его не переходит к конструктору
так вот куча аргументов позвольте мне
позвольте мне фактически выполнить эти
вещи, которые я собираюсь прокомментировать эти два
линии, и я собираюсь начать
учить вас, если вы еще не знаете
это о ключевом слове аргументов let’s run
этот пример узла да и увидеть его бум
ломать
этот личный неожиданный токен вы в порядке
да, так что, поскольку новый — зарезервированный
ключевое слово, которое мы не можем назвать этим новым
назовем это еще что-нибудь
это забавная забава икру больше Crockford
повелители, давайте снова запустим
пример судить задницу все прямо сейчас выглядит
из аргументов журнала консульства, и это
это выглядит именно так.
аргументы выглядят
так что это почти массив, это супер
раздражающий дизайн thingy в JavaScript
что аргументы на самом деле не являются массивом
объект, и это своего рода галстук
так оно и есть, например, оно имеет
Я думаю, если я выйду из системы
Длина это будет — да , но это не так
массив так, потому что вы знаете, что мы
хочу избавиться от этого первого аргумента
здесь из массива, прежде чем передать его
применяются мы просто хотим , это одно и то , что
приходит после него, если у вас несколько
аргументы, поэтому мы , вероятно,
достичь чего-то вроде ломтика, который
дал бы нам, как я думаю, я думаю
мы не можем сделать это сейчас, это то , что мы позволяем
я ясно это и весь примечательный пример
джаз , и мы найдем, что все
аргументы не имеют функции среза
потому что это не массив, поэтому нам нужно
сначала преобразовать аргументы в массив
назовите это war orgs array, если этот лес
ACMA-скрипт шесть мы могли бы использовать массив из
и просто вызовите аргументы и давайте запишемся в журнал
это видно, если это сработало
Orgs пример узла массива да сейчас
мы действительно получаем что-то, что выглядит
как массив, и мы могли бы позвонить
нарезать его и да
срез из индекса 1, который даст нам
да, точки с запятой позволяют мне настроить мои
терминал немного, потому что это
меня раздражает все, что лучше, и
теперь мы могли бы пройти необычно это и пройти
в аргументах с разреженной точкой с запятой
массив к функции apply, но мы
хотите сделать это в сценарии ACMA 5 для
потому что мы делаем
немного урок истории здесь и в
интернет мой скрипт 5 массив точка из.
не существует , поэтому , если вы не имеете
из этого вы узнаете, как вы это сделали
в тот день, когда вы идете, вы идете в массив
объект, и вы обнаружите прототип
собственности, и вы получаете доступ к этому фрагменту
функции, которая там, а затем вы
примените вызов, который с аргументами
свойство, так как этот срез на самом деле является
общий он не требует , чтобы это
быть объектом массива, и я подозреваю, что
это отчасти потому, что это так, что вы
может использовать его так или иначе, давайте
удалите массив из нашего нового типа
ретро- способ создания массива из
аргументы, то мы срезаем эти аргументы
чтобы избавиться от этого одного Понравился
создадим здесь первый аргумент
как избавиться от этого, чтобы мы получили
только это, которое мы затем переходим к применению
что означает, что конструктор
вызывают с поговоркой точки с запятой 1
1 1, что подводит нас к четвертому
что новый собирается вернуть
созданный объект
вернуть объект Нет, ну, да, я думаю
что это действительно может работать сейчас
давайте запустим его без исключения
как я говорю, точки с запятой 1 1 1 1 мы просто
внедрен новый, есть еще один
странность с этим, что нам нужно
потому что я солгал, это на самом деле
иногда здесь, потому что есть
если конструктор возвращает
объект, если он вернется, хотя я не знаю
именно поэтому вы бы это сделали, но
это поведение, как если я вернусь немой
object true некоторый объект здесь, который
собирается превратиться как Крокфорд
вместо этого, если я сделаю это, я догадываюсь, что
мы должны сделать что-то подобное Я
собираюсь вернуть это или объект, это
будет правильной реализацией, поэтому
если я знаю пример грузии этого
будет давать нам ошибку, потому что
Крокфорд точка разговоры это не является
потому что он возвратил
dumbo get true Я просто собираюсь
продемонстрируйте это для консольного журнала точек
хит хит низкий, и я собираюсь вернуть его
может выйти из вида объекта Crockford
узла ой извините
джаз-пример узла, и если я прокручу вас
см. это привет, и он написал
Dom, и это снова
на самом деле, что это такое, если я вернусь
и не мог ли ты использовать наш икру
метода и
Я называю вас стандартным способом
нативная реализация, и я
в частности, и я запускаю на узле пример газа
вы видите, что да , это на самом деле то, что
он действительно возвращает
объект, возвращаемый конструктором if
это если это произойдет, чтобы вернуть возвращение
что-то супер странное, но это путь
он ведет себя обратно и замечает образец да, я
скажем, точки с запятой 1 1, и мы ссылаемся на наши
икру круто и вверх я могу сделать это снова
некоторые шахматы, и это то же поведение
это то, как новые работы внутри, так
мы говорим о новом ключевом слове далее
в частности, как новый применяется к
не относится к классам, потому что это
способ ex5 сделать это, и это
важно изучать историю, и у нас есть
как вникать в то , что именно ново делает
первое, что он делает, это создать новую
объект, то он устанавливает прототип третьего
он выполняет конструктор с этим
установить на объект, который он создал в
шаг первый, и, наконец, он возвращает
созданный объект, если конструктор
возвращает объект, а затем он будет
отвергайте, что вместо этого есть что-нибудь
что было неясно , пожалуйста , разместить воздушный
комментарий ниже, а также, если вы чувствуете
как вы уверены в этих вещах
ознакомьтесь с комментариями ниже и
найти человека, который не ясен на них
и помочь им , потому что это
абсолютно лучший способ, которым вы можете научиться
и расти, как программист, помогает
других у вас с ней у вас есть
смотрел эпизод веселой веселой функции I
выпускать новые эпизоды , как этот каждый
Утром в понедельник, когда ждут сто ги
Mt 5mm PJ, это птица с Twitter
до следующего утра понедельника остаются любопытными
Please follow and like us:

Be First to Comment

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