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 |
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) |
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.
Konstante | Wert | Beschreibung |
---|---|---|
QJSPrimitiveValue::Undefined | 0 | Der JavaScript-Wert Undefined. |
QJSPrimitiveValue::Null | 1 | Der 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::Boolean | 2 | Ein boolescher JavaScript-Wert. |
QJSPrimitiveValue::Integer | 3 | Eine 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::Double | 4 | Ein JavaScript-Zahlenwert. |
QJSPrimitiveValue::String | 5 | Ein 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.