Авторы Оуэн Лэмб и Катя-Яни Вьяс
JavaScript — это бесклассовый язык программирования. Это сильно отличается от классических языков, таких как ruby, где классы могут наследоваться от других классов, а объекты создаются внутри классов. В javaScript наследование основано на прототипах, нет классов и объектов, наследуемых от других объектов. Прототип — это внутренний объект JavaScript, который позволяет другим объектам наследовать свойства. В нашем приложении термостата, например, мы создали переменный термостат, который является функцией, и мы придали объекту другие свойства посредством прототипирования. Посмотрите на пример кода ниже:
var Thermostat = function(){ this.currentTemperature = 20; this.maximumTemperature = 25; }; Thermostat.prototype.temperature = function() { return this.currentTemperature; }; //Our Thermostat object inherits Thermostat.temperature function Thermostat.prototype.increase = function() { if (this.currentTemperature < this.maximumTemperature){ return this.currentTemperature+=1; } return this.currentTemperature; };//Our Thermostat object inherits Thermostat.increase function
Эти объекты можно расширять, повторно использовать и модифицировать для добавления дополнительных функций по мере разработки вашего приложения.