Menu
Coddy logo textTech

Ключевое слово 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 — это 30
  • john.greet() возвращает "Hello, my name is John"

Без ключевого слова new, this будет ссылаться на глобальный объект (или undefined в строгом режиме), а не на новый экземпляр.

challenge icon

Задание

Создайте объект Car и выведите его описание

Вам дана функция-конструктор, которая создает объекты автомобилей. Ваша задача:

  1. Создайте новый объект автомобиля, используя ключевое слово new, передайте "Honda" в качестве имени и 2018 в качестве года
  2. Вызовите метод getDescription у вашего объекта автомобиля
  3. Выведите результат в консоль

Шпаргалка

Ключевое слово 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 вашего объекта автомобиля и выведите результат в консоль



quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Объектно-ориентированное программирование