QJSPrimitiveValue Class

Die Klasse QJSPrimitiveValue arbeitet mit primitiven Typen in JavaScript-Semantik. Mehr...

Kopfzeile: #include <QJSPrimitiveValue>
CMake: find_package(Qt6 REQUIRED COMPONENTS Qml)
target_link_libraries(mytarget PRIVATE Qt6::Qml)
qmake: QT += qml
Seit: Qt 6.1

Öffentliche Typen

enum Type { Undefined, Null, Boolean, Integer, Double, String }

Öffentliche Funktionen

QJSPrimitiveValue()
QJSPrimitiveValue(QJSPrimitiveNull null)
QJSPrimitiveValue(QJSPrimitiveUndefined undefined)
QJSPrimitiveValue(QString value)
QJSPrimitiveValue(bool value)
QJSPrimitiveValue(const QVariant &value)
QJSPrimitiveValue(double value)
QJSPrimitiveValue(int value)
(since 6.4) QJSPrimitiveValue(QMetaType type, const void *value)
(since 6.6) const void *constData() const
(since 6.6) void *data()
(since 6.6) const void *data() const
bool equals(const QJSPrimitiveValue &other) const
(since 6.6) QMetaType metaType() const
bool strictlyEquals(const QJSPrimitiveValue &other) const
(since 6.6) QJSPrimitiveValue to() const
bool toBoolean() const
double toDouble() const
int toInteger() const
QString toString() const
QJSPrimitiveValue::Type type() const
(since 6.1) bool operator!=(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)
(since 6.1) QJSPrimitiveValue operator*(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)
(since 6.1) QJSPrimitiveValue operator+(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)
(since 6.1) QJSPrimitiveValue operator-(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)
(since 6.1) QJSPrimitiveValue operator/(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)
(since 6.1) bool operator<(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)
(since 6.1) bool operator<=(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)
(since 6.1) bool operator==(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)
(since 6.1) bool operator>(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)
(since 6.1) bool operator>=(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)

Detaillierte Beschreibung

QJSPrimitiveValue unterstützt die meisten der im ECMA-262-Standard definierten primitiven Typen, insbesondere Undefined, Boolean, Number und String. Zusätzlich können Sie in einem QJSPrimitiveValue einen JavaScript-Nullwert und als Spezialfall von Number einen Integer-Wert speichern.

Alle diese Werte werden sofort gespeichert, ohne mit dem JavaScript-Heap zu interagieren. Daher können Sie QJSPrimitiveValues zwischen verschiedenen JavaScript-Engines weitergeben. Im Gegensatz zu QJSManagedValue besteht auch keine Gefahr, dass ein QJSPrimitiveValue in einem anderen Thread als dem, in dem er erstellt wurde, vernichtet wird. Auf der anderen Seite enthält QJSPrimitiveValue keinen Verweis auf eine JavaScript-Engine.

QJSPrimitiveValue implementiert die JavaScript-Arithmetik und Vergleichsoperatoren für die unterstützten Typen in JavaScript-Semantik. Die Typen werden so erzwungen, wie die JavaScript-Engine sie erzwingen würde, wenn die Operatoren in einen JavaScript-Ausdruck geschrieben würden.

Der JavaScript-Typ Symbol wird nicht unterstützt, da er in Bezug auf arithmetische und Vergleichsoperatoren, dem Hauptzweck von QJSPrimitiveValue, nur von sehr begrenztem Nutzen ist. Insbesondere löst er eine Ausnahme aus, wenn Sie versuchen, ihn in eine Zahl oder einen String zu verwandeln, und wir können ohne JavaScript-Engine keine Ausnahmen auslösen.

Dokumentation der Mitgliedstypen

enum QJSPrimitiveValue::Type

Diese Aufzählung spezifiziert die Typen, die ein QJSPrimitiveValue enthalten kann.

KonstanteWertBeschreibung
QJSPrimitiveValue::Undefined0Der JavaScript-Wert Undefined.
QJSPrimitiveValue::Null1Der JavaScript-Nullwert. Dabei handelt es sich eigentlich nicht um einen eigenen JavaScript-Typ, sondern um einen speziellen Wert des Typs Object. Da er sehr häufig vorkommt und auch ohne JavaScript-Engine speicherbar ist, wird er dennoch unterstützt.
QJSPrimitiveValue::Boolean2Ein boolescher JavaScript-Wert.
QJSPrimitiveValue::Integer3Eine ganze Zahl. Dies ist ein Spezialfall des JavaScript-Typs Number. JavaScript hat keinen eigenen Integer-Typ, aber der ECMA-262-Standard enthält Regeln für die Umwandlung einer Zahl, um sie für bestimmte Operatoren vorzubereiten, die nur für Integer sinnvoll sind, insbesondere die Bit-Shift-Operatoren. QJSPrimitiveValue Der Typ Integer repräsentiert das Ergebnis einer solchen Transformation.
QJSPrimitiveValue::Double4Ein JavaScript-Zahlenwert.
QJSPrimitiveValue::String5Ein JavaScript-String-Wert.

Dokumentation der Mitgliedsfunktionen

[constexpr, since 6.6] const void *QJSPrimitiveValue::constData() const

[constexpr, since 6.6] const void *QJSPrimitiveValue::data() const

Gibt einen Zeiger auf den enthaltenen Wert als generisches void* zurück, in das nicht geschrieben werden kann.

Diese Funktion wurde in Qt 6.6 eingeführt.

[constexpr noexcept] QJSPrimitiveValue::QJSPrimitiveValue()

Erzeugt einen QJSPrimitiveValue vom Typ Undefined.

[constexpr noexcept] QJSPrimitiveValue::QJSPrimitiveValue(QJSPrimitiveNull null)

Erzeugt einen QJSPrimitiveValue mit dem Wert null und dem Typ Null.

[constexpr noexcept] QJSPrimitiveValue::QJSPrimitiveValue(QJSPrimitiveUndefined undefined)

Erzeugt einen QJSPrimitiveValue mit dem Wert undefined und dem Typ Undefined.

[noexcept] QJSPrimitiveValue::QJSPrimitiveValue(QString value)

Erzeugt einen QJSPrimitiveValue mit dem Wert value und dem Typ String.

[constexpr noexcept] QJSPrimitiveValue::QJSPrimitiveValue(bool value)

Erzeugt einen QJSPrimitiveValue mit dem Wert value und dem Typ Boolean.

[explicit noexcept] QJSPrimitiveValue::QJSPrimitiveValue(const QVariant &value)

Erzeugt einen QJSPrimitiveValue aus dem Inhalt von value, wenn dieser Inhalt in QJSPrimitiveValue gespeichert werden kann. Andernfalls ergibt sich ein QJSPrimitiveValue vom Typ Undefined.

[constexpr noexcept] QJSPrimitiveValue::QJSPrimitiveValue(double value)

Erzeugt einen QJSPrimitiveValue mit dem Wert value und dem Typ Double.

[constexpr noexcept] QJSPrimitiveValue::QJSPrimitiveValue(int value)

Erzeugt einen QJSPrimitiveValue mit dem Wert value und dem Typ Integer.

[noexcept default, since 6.4] QJSPrimitiveValue::QJSPrimitiveValue(QMetaType type, const void *value)

Erzeugt einen QJSPrimitiveValue vom Typ type, und initialisiert mit value, wenn type in QJSPrimitiveValue gespeichert werden kann. value darf in diesem Fall nicht nullptr sein. Wenn type nicht gespeichert werden kann, resultiert dies in einem QJSPrimitiveValue vom Typ Undefined.

Beachten Sie, dass Sie die Adresse der Variablen, die Sie speichern wollen, übergeben müssen.

Normalerweise müssen Sie diesen Konstruktor nie verwenden, verwenden Sie stattdessen denjenigen, der QVariant nimmt.

Diese Funktion wurde in Qt 6.4 eingeführt.

[constexpr, since 6.6] void *QJSPrimitiveValue::data()

Gibt einen Zeiger auf die enthaltenen Daten als generisches void* zurück, in das geschrieben werden kann.

Diese Funktion wurde in Qt 6.6 eingeführt.

[constexpr] bool QJSPrimitiveValue::equals(const QJSPrimitiveValue &other) const

Führt die JavaScript-Operation '==' für diese QJSPrimitiveValue und other durch und gibt das Ergebnis zurück.

[constexpr, since 6.6] QMetaType QJSPrimitiveValue::metaType() const

Gibt den QMetaType des in QJSPrimitiveValue gespeicherten Wertes zurück.

Diese Funktion wurde in Qt 6.6 eingeführt.

[constexpr] bool QJSPrimitiveValue::strictlyEquals(const QJSPrimitiveValue &other) const

Führt die JavaScript-Operation '===' auf dieser QJSPrimitiveValue und other durch und gibt das Ergebnis zurück.

[since 6.6] template <QJSPrimitiveValue::Type type> QJSPrimitiveValue QJSPrimitiveValue::to() const

Überführt den Wert in den angegebenen Typ und gibt das Ergebnis als neues QJSPrimitiveValue zurück.

Diese Funktion wurde in Qt 6.6 eingeführt.

Siehe auch toBoolean(), toInteger(), toDouble(), und toString().

[constexpr] bool QJSPrimitiveValue::toBoolean() const

Gibt den Wert zurück, der durch JavaScript-Regeln in einen booleschen Wert umgewandelt wurde.

[constexpr] double QJSPrimitiveValue::toDouble() const

Gibt den Wert zurück, der durch JavaScript-Regeln in eine JavaScript-Nummer umgewandelt wurde.

[constexpr] int QJSPrimitiveValue::toInteger() const

Gibt den Wert zurück, der nach den Regeln, die JavaScript bei der Vorbereitung auf eine Bitverschiebungsoperation anwenden würde, in eine ganzzahlige 32-Bit-Zahl umgewandelt wurde.

QString QJSPrimitiveValue::toString() const

Gibt den Wert zurück, der durch JavaScript-Regeln in einen JavaScript-String umgewandelt wurde.

[constexpr] QJSPrimitiveValue::Type QJSPrimitiveValue::type() const

Gibt den Typ des QJSPrimitiveValue zurück.

Verwandte Nicht-Mitglieder

[constexpr, since 6.1] bool operator!=(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)

Führt die JavaScript-Operation '!==' auf lhs und rhs aus und gibt das Ergebnis zurück.

Diese Funktion wurde in Qt 6.1 eingeführt.

[since 6.1] QJSPrimitiveValue operator*(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)

Führt die JavaScript '*'-Operation auf lhs und rhs aus und gibt das Ergebnis zurück.

Diese Funktion wurde in Qt 6.1 eingeführt.

[since 6.1] QJSPrimitiveValue operator+(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)

Führt die JavaScript '+'-Operation auf lhs und rhs aus und gibt das Ergebnis zurück.

Diese Funktion wurde in Qt 6.1 eingeführt.

[since 6.1] QJSPrimitiveValue operator-(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)

Führt die JavaScript-Operation '-' auf lhs und rhs aus und gibt das Ergebnis zurück.

Diese Funktion wurde in Qt 6.1 eingeführt.

[since 6.1] QJSPrimitiveValue operator/(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)

Führt die JavaScript '/'-Operation zwischen lhs und rhs durch und gibt das Ergebnis zurück.

Diese Funktion wurde in Qt 6.1 eingeführt.

[constexpr, since 6.1] bool operator<(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)

Führt die JavaScript '<'-Operation auf lhs und rhs aus und gibt das Ergebnis zurück.

Diese Funktion wurde in Qt 6.1 eingeführt.

[constexpr, since 6.1] bool operator<=(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)

Führt die JavaScript-Operation '<=' auf lhs und rhs aus und gibt das Ergebnis zurück.

Diese Funktion wurde in Qt 6.1 eingeführt.

[constexpr, since 6.1] bool operator==(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)

Führt die JavaScript-Operation '===' auf lhs und rhs aus und gibt das Ergebnis zurück.

Diese Funktion wurde in Qt 6.1 eingeführt.

[constexpr, since 6.1] bool operator>(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)

Führt die JavaScript-Operation '>' auf lhs und rhs aus und gibt das Ergebnis zurück.

Diese Funktion wurde in Qt 6.1 eingeführt.

[constexpr, since 6.1] bool operator>=(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)

Führt die JavaScript-Operation '>=' auf lhs und rhs aus und gibt das Ergebnis zurück.

Diese Funktion wurde in Qt 6.1 eingeführt.

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.