Auf dieser Seite

QJSPrimitiveValue Class

Die Klasse „QJSPrimitiveValue“ arbeitet mit primitiven Typen gemäß der JavaScript-Semantik. Mehr...

Header: #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(QJSPrimitiveValue::Type)
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)

Ausführliche Beschreibung

QJSPrimitiveValue unterstützt die meisten im ECMA-262- Standard definierten primitiven Typen, insbesondere „Undefined“, „Boolean“, „Number“ und „String“. Darüber hinaus können Sie einen JavaScript-Nullwert in einem QJSPrimitiveValue speichern und als Sonderfall von „Number“ einen ganzzahligen Wert.

Alle diese Werte werden sofort gespeichert, ohne mit dem JavaScript-Heap zu interagieren. Daher können Sie „QJSPrimitiveValues“ zwischen verschiedenen JavaScript-Engines übergeben. Im Gegensatz zu „ QJSManagedValue “ besteht auch keine Gefahr, einen „QJSPrimitiveValue“ aus einem anderen Thread zu löschen, als dem, in dem er erstellt wurde. Andererseits enthält ein `QJSPrimitiveValue` keine Referenz auf eine JavaScript-Engine.

QJSPrimitiveValue implementiert die arithmetischen und Vergleichsoperatoren von JavaScript für die unterstützten Typen gemäß der JavaScript-Semantik. Die Typumwandlung erfolgt so, wie es die JavaScript-Engine tun würde, wenn die Operatoren in einem JavaScript-Ausdruck geschrieben wären.

Der JavaScript-Typ „Symbol“ wird nicht unterstützt, da er hinsichtlich der arithmetischen und Vergleichsoperatoren – dem Hauptzweck von QJSPrimitiveValue – nur sehr begrenzt nutzbar ist. Insbesondere löst er eine Ausnahme aus, wenn versucht wird, ihn in eine Zahl oder eine Zeichenkette zu konvertieren, und wir können ohne eine JavaScript-Engine keine Ausnahmen auslösen.

Dokumentation zu Mitgliedstypen

enum QJSPrimitiveValue::Type

Diese Enumeration legt die Typen fest, die eine „ QJSPrimitiveValue “ enthalten kann.

KonstanteWertBeschreibung
QJSPrimitiveValue::Undefined0Der JavaScript-Wert „Undefined“.
QJSPrimitiveValue::Null1Der JavaScript-Wert „null“. Dabei handelt es sich eigentlich nicht um einen eigenständigen JavaScript-Typ, sondern um einen speziellen Wert des Typs „Object“. Da er sehr verbreitet ist und auch ohne JavaScript-Engine gespeichert werden kann, wird er weiterhin unterstützt.
QJSPrimitiveValue::Boolean2Ein JavaScript-Boolean-Wert.
QJSPrimitiveValue::Integer3Eine Ganzzahl. Dies ist ein Sonderfall des JavaScript-Typs „Number“. JavaScript verfügt über keinen eigentlichen Ganzzahltyp, aber der ECMA-262-Standard enthält Regeln dazu, wie eine Zahl umgewandelt werden muss, um sie für bestimmte Operatoren vorzubereiten, die nur bei Ganzzahlen Sinn ergeben, insbesondere die Bitverschiebungsoperatoren. Der Ganzzahltyp von QJSPrimitiveValue stellt das Ergebnis einer solchen Umwandlung dar.
QJSPrimitiveValue::Double4Ein JavaScript-Zahlenwert.
QJSPrimitiveValue::String5Ein JavaScript-String-Wert.

Dokumentation zu den Member-Funktionen

[constexpr noexcept default] QJSPrimitiveValue::QJSPrimitiveValue()

Erzeugt einen `QJSPrimitiveValue` vom Typ „Undefined“.

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

Erstellt einen QJSPrimitiveValue mit dem Wert „ null “ und dem Typ „Null“.

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

Erstellt einen `QJSPrimitiveValue` mit dem Wert „ undefined “ und dem Typ „Undefined“.

[delete] QJSPrimitiveValue::QJSPrimitiveValue(QJSPrimitiveValue::Type)

Erstellt standardmäßig eine Instanz von ` QJSPrimitiveValue`. Diese Funktion wurde gelöscht.

[noexcept] QJSPrimitiveValue::QJSPrimitiveValue(QString value)

Erstellt einen QJSPrimitiveValue mit dem Wert „ value “ und dem Typ „String“.

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

Erstellt einen QJSPrimitiveValue mit dem Wert „ value “ und dem Typ „Boolean“.

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

Erstellt einen `QJSPrimitiveValue` aus dem Inhalt von ` value `, sofern dieser Inhalt in einem `QJSPrimitiveValue` gespeichert werden kann. Andernfalls wird ein `QJSPrimitiveValue` vom Typ „Undefined“ zurückgegeben.

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

Erstellt einen QJSPrimitiveValue mit dem Wert „ value “ und dem Typ „Double“.

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

Erstellt einen QJSPrimitiveValue mit dem Wert „ value “ und dem Typ „Integer“.

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

Erstellt einen `QJSPrimitiveValue` vom Typ ` type` und initialisiert ihn mit ` value `, sofern ` type ` in `QJSPrimitiveValue` gespeichert werden kann. In diesem Fall darf ` value ` nicht `nullptr` sein. Kann ` type ` nicht gespeichert werden, ergibt dies einen `QJSPrimitiveValue` vom Typ `Undefined`.

Beachten Sie, dass Sie die Adresse der Variablen übergeben müssen, die gespeichert werden soll.

In der Regel müssen Sie diesen Konstruktor nie verwenden; nutzen Sie stattdessen den Konstruktor, der „ QVariant “ als Argument erwartet.

Diese Funktion wurde in Qt 6.4 eingeführt.

[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 generischen void*-Zeiger zurück, der nicht beschreibbar ist.

Diese Funktionen wurden in Qt 6.6 eingeführt.

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

Gibt einen Zeiger auf die enthaltenen Daten als generischen void*-Zeiger zurück, der beschreibbar ist.

Diese Funktion wurde in Qt 6.6 eingeführt.

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

Führt die JavaScript-Operation „==“ auf diesen Werten aus: QJSPrimitiveValue und other und gibt das Ergebnis zurück.

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

Gibt den „ QMetaType “ des in „ QJSPrimitiveValue “ gespeicherten Werts 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 diesen Werten aus: QJSPrimitiveValue und other und gibt das Ergebnis zurück.

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

Wandelt den Wert zwangsweise in den angegebenen „ type “ um 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 gemäß den JavaScript-Regeln in einen booleschen Wert umgewandelt wurde.

[constexpr] double QJSPrimitiveValue::toDouble() const

Gibt den Wert zurück, der gemäß den JavaScript-Regeln in einen JavaScript-Zahlenwert umgewandelt wurde.

[constexpr] int QJSPrimitiveValue::toInteger() const

Gibt den Wert zurück, der gemäß den Regeln, die JavaScript bei der Vorbereitung einer Bitverschiebungsoperation anwenden würde, in eine 32-Bit-Ganzzahl umgewandelt wurde.

QString QJSPrimitiveValue::toString() const

Gibt den Wert zurück, der gemäß den 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 “ durch 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 „+“ für „ 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 „===“ für „ 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.

© 2026 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.