softhelp.ru! | Программирование


Знакомимся с javascript: object и to string


Object можно рассматривать как своего рода «объект-прародитель» — от него изначально наследуют все объекты. А еще Object реализует несколько ключевых методов, которые являются основной частью системы объектов JavaScript. Многие из них не будут использоваться в вашей повседневной работе, но другие встречаются достаточно часто.

Также от Object наследуется метод toString, который обычно переопределяется в экземплярах. Этот метод возвращает представление объекта в формате String. Вскоре вы увидите, как переопределить наш метод для получения более точного описания объектов в коде.

Object используемый как прототип

Итак, сознавали вы это или нет, но у каждого объекта, который мы когда-либо создавали, был прототип — и это был Object. Вы можете задать в качестве прототипа объекта другой вид объекта, как мы сделали с прототипом выставочных собак, но в конечном счете все цепочки прототипов ведут к Object.

Использование наследования с переопределением встроенного поведения



Приведём как образец, метод hasOwnProperty наследуется всеми объектами (еще раз — потому что все объекты в конечном итоге наследуют от Object).

При наследовании от встроенных объектов вы можете переопределять методы, в этих объектах. Типичный пример — метод toString прототипа Object. Все объекты в фрагменте наследуются от Object, и поэтому могут использовать метод toString для получения простого строкового представления любого объекта.

Обратите внимание: метод toString активизируется, даже если вы не вызываете его напрямую. Например, если вы задействуете оператор дополнительно для конкатенации строки с объектом, JavaScript использует метод toString посредством преобразования объекта в строку, прежде чем объединять его с другой строкой.
Игрушечный? Да этот робот работает на базе Arduino, и им даже можно управлять из JavaScript!

Обратите внимание


  • Система объектов JavaScript использует наследование через прототипы.

  • Экземпляр, создаваемый конструктором, содержит собственные свойства и копию методов из конструктора.

  • Свойства, добавляемые в прототип конструктора, наследуются всеми экземплярами, которые были созданы конструктором.

  • Чтобы переопределить свойства из прототипа, просто добавьте их в экземпляр.

  • Конструктор включает прототип по умолчанию, обращение идёт через свойство prototype конструктора.

  • Вы можете назначить собственный объект свойству prototype конструктора.

  • Если вы задействуете собственный объект как прототип, не забудьте назначить правильный конструктор свойству constructor для предотвращения недоразумений.

  • В случае добавления свойства в прототип после создания экземпляров, наследующих от него, все экземпляры немедленно унаследуют новые свойства.

  • Чтобы узнать, определено ли свойство в экземпляре, используйте метод hasOwnProperty.

  • Object — объект, от которого наследуются все прототипы и экземпляры.

  • Object содержит свойства и методы, которые наследуются всеми объектами (как, например, toString и hasOwnProperty).

  • Вы можете переопределять или добавлять свойства во встроенные объекты (такие, как Object или String), но будьте осторожны — такие изменения могут приводить к непредвиденным последствиям.

  • В JavaScript объектом является практически все — функции, массивы, многие встроенные объекты и все объекты, которые вы создаете самостоятельно.