QJSPrimitiveValue Class
La classe `QJSPrimitiveValue` traite les types primitifs selon la sémantique JavaScript. En savoir plus...
| En-tête : | #include <QJSPrimitiveValue> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Qml) target_link_libraries(mytarget PRIVATE Qt6::Qml) |
| qmake : | QT += qml |
| Depuis : | Qt 6.1 |
Types publics
| enum | Type { Undefined, Null, Boolean, Integer, Double, String } |
Fonctions publiques
| 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 |
Éléments non-membres associés
(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) |
Description détaillée
QJSPrimitiveValue prend en charge la plupart des types primitifs définis dans la norme ECMA-262, notamment Undefined, Boolean, Number et String. De plus, vous pouvez stocker une valeur null JavaScript dans un QJSPrimitiveValue et, en tant que cas particulier de Number, vous pouvez stocker une valeur entière.
Toutes ces valeurs sont stockées immédiatement, sans interaction avec le tas JavaScript. Vous pouvez donc transmettre des objets `QJSPrimitiveValue` entre différents moteurs JavaScript. Contrairement à ` QJSManagedValue`, il n’y a aucun risque à détruire un objet `QJSPrimitiveValue` à partir d’un thread différent de celui dans lequel il a été créé. En revanche, QJSPrimitiveValue ne contient aucune référence à un moteur JavaScript quelconque.
QJSPrimitiveValue implémente les opérateurs arithmétiques et de comparaison JavaScript sur les types pris en charge, conformément à la sémantique JavaScript. Les types sont convertis de la même manière que le moteur JavaScript les convertirait si les opérateurs étaient écrits dans une expression JavaScript.
Le type `Symbol` de JavaScript n’est pas pris en charge, car son utilité est très limitée en ce qui concerne les opérateurs arithmétiques et de comparaison, qui constituent l’objectif principal de `QJSPrimitiveValue`. En particulier, il provoque une exception chaque fois que l’on tente de le convertir en nombre ou en chaîne de caractères, et nous ne pouvons pas lever d’exceptions sans moteur JavaScript.
Documentation sur les types de membres
enum QJSPrimitiveValue::Type
Cette énumération spécifie les types qu'une « QJSPrimitiveValue » peut contenir.
| Constante | Valeur | Description |
|---|---|---|
QJSPrimitiveValue::Undefined | 0 | La valeur « Undefined » de JavaScript. |
QJSPrimitiveValue::Null | 1 | La valeur « null » de JavaScript. Il ne s'agit en réalité pas d'un type JavaScript distinct, mais d'une valeur spéciale du type « Object ». Comme elle est très courante et peut être stockée sans moteur JavaScript, elle est toujours prise en charge. |
QJSPrimitiveValue::Boolean | 2 | Une valeur booléenne JavaScript. |
QJSPrimitiveValue::Integer | 3 | Un entier. Il s'agit d'un cas particulier du type « Number » de JavaScript. JavaScript ne dispose pas de type « entier » à proprement parler, mais la norme ECMA-262 contient des règles expliquant comment transformer un nombre (« Number ») afin de le préparer à l'utilisation de certains opérateurs qui n'ont de sens qu'avec des entiers, en particulier les opérateurs de décalage binaire. Le type « Integer » de QJSPrimitiveValue représente le résultat d'une telle transformation. |
QJSPrimitiveValue::Double | 4 | Une valeur « Number » de JavaScript. |
QJSPrimitiveValue::String | 5 | Une valeur de type « String » JavaScript. |
Documentation des fonctions membres
[constexpr noexcept default] QJSPrimitiveValue::QJSPrimitiveValue()
Crée une valeur `QJSPrimitiveValue` de type « Undefined ».
[constexpr noexcept] QJSPrimitiveValue::QJSPrimitiveValue(QJSPrimitiveNull null)
Crée un objet `QJSPrimitiveValue` dont la valeur est « null » et le type est « Null ».
[constexpr noexcept] QJSPrimitiveValue::QJSPrimitiveValue(QJSPrimitiveUndefined undefined)
Crée une valeur `QJSPrimitiveValue` dont la valeur est « undefined » et le type «Undefined».
[delete] QJSPrimitiveValue::QJSPrimitiveValue(QJSPrimitiveValue::Type)
Construit par défaut une instance de ` QJSPrimitiveValue`. Cette fonction est supprimée.
[noexcept] QJSPrimitiveValue::QJSPrimitiveValue(QString value)
Crée un objet `QJSPrimitiveValue` dont la valeur est « value » et le type « String ».
[constexpr noexcept] QJSPrimitiveValue::QJSPrimitiveValue(bool value)
Crée une valeur QJSPrimitiveValue dont la valeur est « value » et le type « Boolean ».
[explicit noexcept] QJSPrimitiveValue::QJSPrimitiveValue(const QVariant &value)
Crée un objet `QJSPrimitiveValue` à partir du contenu de ` value ` si ce contenu peut être stocké dans `QJSPrimitiveValue`. Dans le cas contraire, cela renvoie un objet `QJSPrimitiveValue` de type « Undefined ».
[constexpr noexcept] QJSPrimitiveValue::QJSPrimitiveValue(double value)
Crée une valeur `QJSPrimitiveValue` dont la valeur est ` value ` et le type `Double`.
[constexpr noexcept] QJSPrimitiveValue::QJSPrimitiveValue(int value)
Crée un objet `QJSPrimitiveValue` dont la valeur est « value » et le type « Integer ».
[noexcept implicit, since 6.4] QJSPrimitiveValue::QJSPrimitiveValue(QMetaType type, const void *value)
Crée un objet `QJSPrimitiveValue` de type ` type` et l'initialise avec ` value ` si ` type ` peut être stocké dans `QJSPrimitiveValue`. Dans ce cas, ` value ` ne doit pas être `nullptr`. Si ` type ` ne peut pas être stocké, cela donne lieu à un objet `QJSPrimitiveValue` de type `Undefined`.
Notez que vous devez passer l’adresse de la variable que vous souhaitez stocker.
En règle générale, vous n’avez jamais besoin d’utiliser ce constructeur ; utilisez plutôt celui qui prend en paramètre un ` QVariant `.
Cette fonction a été introduite dans Qt 6.4.
[constexpr, since 6.6] const void *QJSPrimitiveValue::constData() const
[constexpr, since 6.6] const void *QJSPrimitiveValue::data() const
Renvoie un pointeur vers la valeur contenue sous la forme d'un *void* générique sur lequel il est impossible d'écrire.
Ces fonctions ont été introduites dans Qt 6.6.
[constexpr, since 6.6] void *QJSPrimitiveValue::data()
Renvoie un pointeur vers les données contenues sous la forme d'un *void* générique sur lequel il est possible d'écrire.
Cette fonction a été introduite dans Qt 6.6.
[constexpr] bool QJSPrimitiveValue::equals(const QJSPrimitiveValue &other) const
Effectue l'opération JavaScript « == » sur ces liens QJSPrimitiveValue et other, puis renvoie le résultat.
[constexpr, since 6.6] QMetaType QJSPrimitiveValue::metaType() const
Renvoie l'QMetaType e de la valeur stockée dans QJSPrimitiveValue.
Cette fonction a été introduite dans Qt 6.6.
[constexpr] bool QJSPrimitiveValue::strictlyEquals(const QJSPrimitiveValue &other) const
Effectue l'opération JavaScript « === » sur ces éléments : QJSPrimitiveValue et other, puis renvoie le résultat.
[since 6.6] template <QJSPrimitiveValue::Type type> QJSPrimitiveValue QJSPrimitiveValue::to() const
Convertit la valeur au format spécifié type et renvoie le résultat sous la forme d'un nouvel objet QJSPrimitiveValue.
Cette fonction a été introduite dans Qt 6.6.
Voir également toBoolean(), toInteger(), toDouble() et toString().
[constexpr] bool QJSPrimitiveValue::toBoolean() const
Renvoie la valeur convertie en booléen selon les règles de JavaScript.
[constexpr] double QJSPrimitiveValue::toDouble() const
Renvoie la valeur convertie en nombre JavaScript selon les règles de JavaScript.
[constexpr] int QJSPrimitiveValue::toInteger() const
Renvoie la valeur convertie en nombre entier de 32 bits selon les règles que JavaScript appliquerait pour la préparer à une opération de décalage de bits.
QString QJSPrimitiveValue::toString() const
Renvoie la valeur convertie en chaîne de caractères JavaScript conformément aux règles de JavaScript.
[constexpr] QJSPrimitiveValue::Type QJSPrimitiveValue::type() const
Renvoie le type de l'QJSPrimitiveValue.
Éléments non membres associés
[constexpr, since 6.1] bool operator!=(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)
Effectue l'opération JavaScript « !== » sur lhs et rhs, puis renvoie le résultat.
Cette fonction a été introduite dans Qt 6.1.
[since 6.1] QJSPrimitiveValue operator*(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)
Effectue l'opération JavaScript « * » sur lhs et rhs, puis renvoie le résultat.
Cette fonction a été introduite dans Qt 6.1.
[since 6.1] QJSPrimitiveValue operator+(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)
Effectue l'opération JavaScript « + » sur lhs et rhs, puis renvoie le résultat.
Cette fonction a été introduite dans Qt 6.1.
[since 6.1] QJSPrimitiveValue operator-(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)
Effectue l'opération JavaScript « - » sur lhs et rhs, puis renvoie le résultat.
Cette fonction a été introduite dans Qt 6.1.
[since 6.1] QJSPrimitiveValue operator/(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)
Effectue l'opération JavaScript « / » entre lhs et rhs, puis renvoie le résultat.
Cette fonction a été introduite dans Qt 6.1.
[constexpr, since 6.1] bool operator<(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)
Effectue l'opération JavaScript « < » sur lhs et rhs, puis renvoie le résultat.
Cette fonction a été introduite dans Qt 6.1.
[constexpr, since 6.1] bool operator<=(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)
Effectue l'opération JavaScript « <= » sur lhs et rhs, puis renvoie le résultat.
Cette fonction a été introduite dans Qt 6.1.
[constexpr, since 6.1] bool operator==(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)
Effectue l'opération JavaScript « === » sur lhs et rhs, puis renvoie le résultat.
Cette fonction a été introduite dans Qt 6.1.
[constexpr, since 6.1] bool operator>(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)
Effectue l'opération JavaScript « > » sur lhs et rhs, puis renvoie le résultat.
Cette fonction a été introduite dans Qt 6.1.
[constexpr, since 6.1] bool operator>=(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)
Effectue l'opération JavaScript « >= » sur lhs et rhs, puis renvoie le résultat.
Cette fonction a été introduite dans Qt 6.1.
© 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.