Введение в JavaScript_объекты было дано в главе 7, в которой каждый объект трактовался как уникальный набор свойств, отличающих его от любых других объектов. В большинстве объектно_ориентированных языков программирования существует возможность определять классы объектов и затем создавать отдель_ ные объекты как экземпляры этих классов. Например, можно объявить класс Complex, призванный представлять комплексные числа и выполнять арифметиче_ ские действия с этими числами, тогда объект Complex представлял бы единствен_ ное комплексное число и мог бы создаваться как экземпляр этого класса.
Язык JavaScript не обладает полноценной поддержкой классов, как другие язы_ ки, например Java, C++ или C#.1 Тем не менее в JavaScript существует возмож_ ность определять псевдоклассы с помощью таких инструментальных средств, как функции_конструкторы и прототипы объектов. В этой главе рассказывается о конструкторах и прототипах и приводится ряд примеров некоторых псевдо_ классов и даже псевдоподклассов JavaScript.
За неимением лучшего термина в этой главе неофициально я буду пользоваться словом «класс», поэтому будьте внимательны и не путайте эти неформальные «классы» с настоящими классами, которые поддерживаются в JavaScript 2.0 и в других языках программирования.