Menu
Coddy logo textTech

Das new-Schlüsselwort

Teil des Abschnitts Objektorientierte Programmierung der JavaScript-Journey von Coddy — Lektion 5 von 56.

Das new Schlüsselwort in JavaScript wird verwendet, um Instanzen von Konstruktorfunktionen zu erstellen, die als Vorlagen für die Erstellung von Objekten dienen.

Erstellen Sie eine Konstruktorfunktion für eine Person:

function Person(name, age) {
  this.name = name;
  this.age = age;
  this.greet = function() {
    return "Hello, my name is " + this.name;
  };
}

Verwenden Sie das Schlüsselwort new, um eine Instanz zu erstellen:

const john = new Person("John", 30);

Nach Ausführung des obigen Codes ist john ein Objekt mit Eigenschaften und einer Methode:

  • john.name ist "John"
  • john.age ist 30
  • john.greet() gibt "Hello, my name is John" zurück

Ohne das new-Schlüsselwort würde sich this auf das globale Objekt beziehen (oder undefined im Strict-Mode), nicht auf die neue Instanz.

challenge icon

Aufgabe

Erstellen Sie ein Car-Objekt und geben Sie dessen Beschreibung aus

Ihnen wird eine Konstruktorfunktion gegeben, die Car-Objekte erstellt. Ihre Aufgabe ist es:

  1. Erstellen Sie ein neues Car-Objekt mit dem new Schlüsselwort, übergeben Sie "Honda" als Name und 2018 als Jahr
  2. Rufen Sie die getDescription Methode für Ihr Car-Objekt auf
  3. Geben Sie das Ergebnis in der Konsole aus

Spickzettel

Das Schlüsselwort new erstellt Instanzen von Konstruktorfunktionen, die als Vorlagen für Objekte dienen.

Definieren Sie eine Konstruktorfunktion:

function Person(name, age) {
  this.name = name;
  this.age = age;
  this.greet = function() {
    return "Hello, my name is " + this.name;
  };
}

Erstellen Sie eine Instanz mit new:

const john = new Person("John", 30);

Greifen Sie auf Eigenschaften und Methoden zu:

john.name // "John"
john.age // 30
john.greet() // "Hello, my name is John"

Ohne new bezieht sich this auf das globale Objekt (oder undefined im Strict-Mode) anstatt auf die neue Instanz.

Probier es selbst

function Car(name, year) {
    this.name = name;
    this.year = year;
    
    this.getDescription = function() {
        return "This is a " + this.name + " from " + this.year;
    };
}

// TODO: Erstellen Sie ein neues Auto-Objekt mit dem Schlüsselwort new, übergeben Sie "Honda" als Namen und 2018 als Jahr

// TODO: Rufen Sie die Methode getDescription für Ihr Auto-Objekt auf und geben Sie das Ergebnis in der Konsole aus



quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Objektorientierte Programmierung