Ключевое слово new
Часть раздела Объектно-ориентированное программирование путешествия по JavaScript на Coddy — урок 5 из 56.
Ключевое слово new в JavaScript используется для создания экземпляров функций-конструкторов, которые выступают в качестве шаблонов для создания объектов.
Создайте функцию-конструктор для Person:
function Person(name, age) {
this.name = name;
this.age = age;
this.greet = function() {
return "Hello, my name is " + this.name;
};
}Используйте ключевое слово new для создания экземпляра:
const john = new Person("John", 30);После выполнения вышеуказанного кода john является объектом со свойствами и методом:
john.name— это "John"john.age— это 30john.greet()возвращает "Hello, my name is John"
Без ключевого слова new, this будет ссылаться на глобальный объект (или undefined в строгом режиме), а не на новый экземпляр.
Задание
Создайте объект Car и выведите его описание
Вам дана функция-конструктор, которая создает объекты автомобилей. Ваша задача:
- Создайте новый объект автомобиля, используя ключевое слово
new, передайте "Honda" в качестве имени и 2018 в качестве года - Вызовите метод
getDescriptionу вашего объекта автомобиля - Выведите результат в консоль
Шпаргалка
Ключевое слово new создает экземпляры функций-конструкторов, которые выступают в качестве шаблонов для объектов.
Определите функцию-конструктор:
function Person(name, age) {
this.name = name;
this.age = age;
this.greet = function() {
return "Hello, my name is " + this.name;
};
}Создайте экземпляр с помощью new:
const john = new Person("John", 30);Доступ к свойствам и методам:
john.name // "John"
john.age // 30
john.greet() // "Hello, my name is John"Без new, this ссылается на глобальный объект (или undefined в строгом режиме) вместо нового экземпляра.
Попробуйте сами
function Car(name, year) {
this.name = name;
this.year = year;
this.getDescription = function() {
return "This is a " + this.name + " from " + this.year;
};
}
// TODO: Создайте новый объект автомобиля, используя ключевое слово new, передайте "Honda" в качестве названия и 2018 в качестве года
// TODO: Вызовите метод getDescription вашего объекта автомобиля и выведите результат в консоль
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Объектно-ориентированное программирование
1Объекты и ключевое слово this
Краткий обзор: ОбъектыДобавление методов в объектыПонимание ключевого слова thisФункции-конструкторыКлючевое слово newИтоговое испытание7Наследование и ключевое слово extends
НаследованиеОтношение «is-a»Ключевое слово extendsМетод super()Наследование свойств и методовИтоговое испытание10Полиморфизм
Что такое полиморфизм?Переопределение унаследованных методовИспользование superИтоговое задание13Композиция против наследования
Отношения «has-a» и «is-a»Ограничения глубокого наследованияСоздание объектов2Организация кода
Что такое модули?Экспорт с помощью exportИмпорт с помощью importDefault против именованных экспортов5Инкапсуляция и доступ
ИнкапсуляцияПубличные и приватные поля классовПриватные методыЗадание на повторение8Организация кода ООП
Организация классов в модули11Проект: Отрисовщик фигур
Настройка: Класс Shape и экспортНаследование класса Circle14Система управления библиотекой
Проектирование библиотекиКласс Book с использованием композиции6Проект: Простой банковский счет
Класс BankAccountПополнение и снятие средств9Статические методы и свойства
Уровень класса против уровня экземпляраСтатические свойстваСтатические вспомогательные методыЗадание на закрепление