JavaScript Methoden von Primitiven

In JavaScript ist es möglich, mit Primitiven (Zahlen, Strings und mehr), als wären sie Objekte zu arbeiten.

Aber natürlich gibt es bemerkenswerte Unterschiede zwischen Objekten und Primitiven.

Ein Primitive ist also ein primitiver Wert. Es gibt sieben Typen von Primitiven, darunter: Zahl, BigInt, Symbol, String, Boolesch, Null und Undefiniert. Ein Objekt kann mehrere Werte als Eigenschaften speichern. Sie können ein Objekt mit {} erstellen. Zum Beispiel:

{
  name: "Chevrolet",
  model: "Camaro",
  price: 40000
}

In JavaScript gibt es auch andere Arten von Objekten. Funktionen werden zum Beispiel auch als Objekte betrachtet.

Einer der bedeutendsten Vorteile von Objekten ist, dass eine Funktion als eine seiner Eigenschaften gespeichert werden kann.

Zum Beispiel:

Javascript object's function properties
let site = { name: "W3Docs", welcome: function () { console.log("Welcome to W3Docs!"); } }; site.welcome(); // Welcome to W3Docs!

Es gibt auch viele eingebaute Objekte. Zum Beispiel solche, die mit Fehlern, Daten, HTML-Elementen und mehr arbeiten. Sie enthalten verschiedene Methoden und Eigenschaften.

Aber beachten Sie, dass Objekte zusätzliche Ressourcen für die Unterstützung der internen Struktur benötigen.

Ein Primitives als ein Objekt

Unten wird das Paradoxon von JavaScript beschrieben:

  • Man möchte viele Dinge mit Primitiven wie Strings und Zahlen machen. Der Zugriff auf sie als Methoden wäre großartig.
  • Primitives müssen sowohl leichtgewichtig als auch schnell sein.

Und hier ist die Lösung, die ein wenig umständlich erscheinen mag:

  • Primitives bleiben primitives. Ein Wert, wie erwünscht.
  • In der Sprache können Sie auf die Eigenschaften und Methoden von Strings, Symbolen, Booleans und Zahlen zugreifen.
  • Für die Erzwingung dieser Arbeit wird ein einzigartiger “Objekt-Wrapper” generiert, der zusätzliche Funktionalität bietet, und dann wieder zerstört.

Jeder Typ eines Primitiven hat seinen eigenen “Objekt-Wrapper” genannt: Number, Boolean, String, Symbol. Sie bieten verschiedene Methodensätze. Zum Beispiel gibt es die String-Methode str.toUpperCase(), die einen kapitalisierten str zurückgibt.

Es funktioniert auf diese Weise:

Javascript string toUpperCase method
let str = "Welcome to W3Docs"; console.log(str.toUpperCase()); // WELCOME TO W3DOCS

Jetzt sehen wir, was bei str.toUpperCase() passiert:

  • str ist ein Primitive. Ein einzigartiges Objekt wird im Moment des Zugriffs auf seine Eigenschaft erstellt. Dieses Objekt kennt den String-Wert und hat hilfreiche Methoden, wie toUpperCase().
  • Diese Methode kann ausgeführt werden und gibt einen vollständig neuen String zurück (wie durch console.log angezeigt).
  • Das spezielle Objekt wird zerstört und das Primitive str bleibt alleine.

Wir können annehmen, dass Primitives Methoden bereitstellen, aber gleichzeitig leichtgewichtig bleiben.

Es ist wichtig zu beachten, dass JavaScript diesen Prozess erheblich verbessert. Darüber hinaus kann die Erstellung eines zusätzlichen Objekts übersprungen werden. Es sollte sich trotzdem so verhalten, als würde es eines erstellen.

Eine Zahl hat ihre Methoden. Werfen wir einen Blick auf dieses Beispiel:

Javascript numbers method
let num = 1.23456; console.log(num.toFixed(3)); // 1.235

Hier rundet toFixed(n) die Zahl auf eine bestimmte Präzision.

Zum Beispiel:

Javascript numbers methods
let num = 1.23456; console.log(num.toFixed(2)); // 1.23

Beachten Sie, dass Sie die Konstruktoren String/Number/Boolean nur intern verwenden können.

Wie einige andere Sprachen, wie Java, besteht die Möglichkeit, “Wrapper-Objekte” für Primitives mit der folgenden Syntax zu erstellen:

new Number(1);
or
new Boolean(false);

Theoretisch ist das auch in JavaScript möglich, aber wir empfehlen nicht, dies zu tun. Es könnte unerwünschte Ergebnisse bringen. Zum Beispiel:

Javascript numbers methods
console.log(typeof 0); // "number" console.log(typeof new Number(0)); // "object"

In if sind Objekte immer wahr. Hier wird der Alert Folgendes anzeigen:

Javascript numbers methods
let zero = new Number(0); if (zero) { // zero is true, because it's an object console.log("In this case, zero is truthy!"); }

Eine weitere nützliche Funktion ist die Verwendung der gleichen Funktionen String/Number/Booleanohne new. Damit kann der Wert in einen String, eine Zahl und einen Booleschen Wert umgewandelt werden.

Hier ist ein Beispiel:

Javascript numbers methods
let num = Number("12"); // convert a string to number console.log(typeof num);

Zusammenfassung

Ein Primitive hat eine Reihe praktischer Methoden (ausgenommen null und undefiniert). Diese Methoden arbeiten über temporäre Objekte. Die Engines von JavaScript sind gut eingestellt, um das intern zu erleichtern. Daher ist es nicht teuer, sie zu rufen.

Quizzeit: Testen Sie Ihre Fähigkeiten!

Sind Sie bereit, das Gelernte herauszufordern? Tauchen Sie ein in unsere interaktiven Quizze für ein tieferes Verständnis und eine unterhaltsame Art, Ihr Wissen zu festigen.

Finden Sie das nützlich?