Объекты, "Классы" и Прототипы в Javascript

В Javascript нет классов как таковых, как например в Ruby - вместо этого используются "прототипы", которые помогают следовать принципу DRY ("Don't Repeat Yourself") в коде.

Вы увидите, что в JS широко используются Объекты. По сути, это контейнеры, содержащие что угодно, от переменных до функций (или всё вместе!). Они могут напомнить вам хэши в Ruby. Вы увидите их стандартное применение (для логической группировки переменных), или же необычное для вас (для группировки функций внутри отдельных пространств имен).

Пункты для размышления

  • Чем объекты JS похожи на объекты Ruby?
  • Могут ли функции JS быть определены внутри объектов?
  • Что такое функция-конструктор?
  • Что такое прототип?
  • Как прототипы помогают наследовать и осуществлять принцип DRY?
  • Что произойдет, если вы возьмете прототип прототипа прототипа и т. д. какого-то объекта?

Ваши задания

  1. Прочтите об объектах
  2. Прочтите также о прототипах
  3. Прочтите об ООП в Javascript

Дополнительные ресурсы

Этот раздел содержит полезные ссылки на дополнительные материалы. Это не обязательно, так что расценивайте их как нечто полезное, если вы хотите поглубже погрузиться в тему

  • Прототипы в Javascript от MSDN
  • Семь вещей, которые мне надо было бы знать о Javascript раньше от Smashing Magazine

Поделиться уроком: