Wie erstelle ich eine Klasse in JavaScript?

In JavaScript gibt es viele Möglichkeiten, dasselbe zu tun. Ich habe jedoch einige Wege eingeschlagen und einige Wege, die ich ehrlich gesagt nicht verstehe. Könnte mir bitte jemand helfen, einige Dinge zu klären? (Ich habe OOP zum ersten Mal in PHP gelernt.)

So kann eine Klasse wie folgt erstellt werden:

var object = new class(constructparams) {
    var private_members; // Can be accessed from within the code inside this definition only.
    this.public_members; // Can be accessed from everywhere.

    var private_functions = function() {}
    this.public_functions = function() {}
}

object.prototype.semi_public_members = function() {
    // Will be public, but can only access public members and methods.
    // E. g. private_members; is not available here.
}

Ist das alles soweit richtig?

Dann mag jemand den selbstausführenden anonymen Funktionsansatz, um einen Namespace zu erstellen. Was ist der Sinn davon, wenn Sie auf diese Weise darüber dasselbe tun, einen Namespace bereitzustellen?

Und zuletzt haben Sie die Objekt-Literal-Notation, die ich nicht verstehe.

var object = { // Something strange in here }

Was ist da drin los? Ist es JSON? Wie wird es benutzt, wie kann ich es benutzen? Was sind die Vorteile dieser Methode anstelle der beschriebenen Methode? Warum sollten Sie einen Prototyp erstellen, anstatt die Klasse beim ersten Mal korrekt zu gestalten?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage