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 |
Verwandte Nicht-Mitglieder
(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.
| Konstante | Wert | Beschreibung |
|---|---|---|
QJSPrimitiveValue::Undefined | 0 | Der JavaScript-Wert „Undefined“. |
QJSPrimitiveValue::Null | 1 | Der 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::Boolean | 2 | Ein JavaScript-Boolean-Wert. |
QJSPrimitiveValue::Integer | 3 | Eine 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::Double | 4 | Ein JavaScript-Zahlenwert. |
QJSPrimitiveValue::String | 5 | Ein 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.