Sur cette page

QJSPrimitiveValue Class

La classe QJSPrimitiveValue opère sur les types primitifs dans la sémantique JavaScript. Plus d'informations...

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(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)

Description détaillée

QJSPrimitiveValue prend en charge la plupart des types primitifs définis dans la norme ECMA-262, en particulier Undefined, Boolean, Number et String. En outre, vous pouvez stocker un JavaScript null dans un QJSPrimitiveValue et, en tant que cas spécial 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 passer des QJSPrimitiveValues entre différents moteurs JavaScript. Contrairement à QJSManagedValue, il n'y a aucun risque à détruire une QJSPrimitiveValue à partir d'un thread différent de celui dans lequel elle a été créée. En revanche, QJSPrimitiveValue ne contient pas de référence à un moteur JavaScript.

QJSPrimitiveValue implémente les opérateurs arithmétiques et de comparaison JavaScript sur les types supportés dans la sémantique JavaScript. Les types sont contraints comme le moteur JavaScript le ferait si les opérateurs étaient écrits dans une expression JavaScript.

Le type JavaScript Symbol n'est pas supporté car il est d'une utilité très limitée en ce qui concerne les opérateurs arithmétiques et de comparaison, l'objectif principal de QJSPrimitiveValue. En particulier, il provoque une exception chaque fois que vous essayez de le contraindre à un nombre ou une chaîne de caractères, et nous ne pouvons pas lancer d'exceptions sans un moteur JavaScript.

Documentation sur les types de membres

enum QJSPrimitiveValue::Type

Cet enum spécifie les types qu'un site QJSPrimitiveValue peut contenir.

ConstanteValeurDescription
QJSPrimitiveValue::Undefined0La valeur JavaScript Undefined.
QJSPrimitiveValue::Null1La valeur null de JavaScript. Il ne s'agit pas d'un type JavaScript distinct, mais d'une valeur spéciale du type Object. Comme elle est très courante et stockable sans le moteur JavaScript, elle est toujours prise en charge.
QJSPrimitiveValue::Boolean2Une valeur booléenne JavaScript.
QJSPrimitiveValue::Integer3Un nombre entier. Il s'agit d'un cas particulier du type JavaScript Number. JavaScript n'a pas de type entier à proprement parler, mais la norme ECMA-262 contient des règles sur la manière de transformer un nombre afin de le préparer à certains opérateurs qui n'ont de sens que sur les entiers, en particulier les opérateurs de décalage de bits. QJSPrimitiveValue Le type Integer de JavaScript représente le résultat d'une telle transformation.
QJSPrimitiveValue::Double4Une valeur numérique JavaScript.
QJSPrimitiveValue::String5Une valeur de chaîne JavaScript.

Documentation des fonctions membres

[constexpr noexcept] QJSPrimitiveValue::QJSPrimitiveValue()

Crée une QJSPrimitiveValue de type Undefined.

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

Crée un QJSPrimitiveValue de valeur null et de type Null.

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

Crée une QJSPrimitiveValue de valeur undefined et de type Undefined.

[noexcept] QJSPrimitiveValue::QJSPrimitiveValue(QString value)

Crée une QJSPrimitiveValue de valeur value et de type String.

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

Crée une QJSPrimitiveValue de valeur value et de type Boolean.

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

Crée une QJSPrimitiveValue à partir du contenu de value si ce contenu peut être stocké dans une QJSPrimtiveValue. Sinon, il en résulte une QJSPrimitiveValue de type Undefined.

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

Crée une QJSPrimitiveValue de valeur value et de type Double.

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

Crée une QJSPrimitiveValue de valeur value et de type Integer.

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

Crée une QJSPrimitiveValue de type type, et l'initialise avec value si type peut être stocké dans QJSPrimtiveValue. value ne doit pas être nullptr dans ce cas. Si type ne peut pas être stocké, il en résulte une QJSPrimitiveValue de type Undefined.

Notez que vous devez passer l'adresse de la variable que vous voulez stocker.

En général, vous n'avez pas besoin d'utiliser ce constructeur, utilisez plutôt celui qui prend 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 sur 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 sur les données contenues sous la forme d'un void* générique dans 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 ce site QJSPrimitiveValue et other, et renvoie le résultat.

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

Retourne le QMetaType de la valeur stockée dans le QJSPrimitiveValue.

Cette fonction a été introduite dans Qt 6.6.

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

Effectue l'opération JavaScript '===' sur ce site QJSPrimitiveValue et other, et renvoie le résultat.

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

Convertit la valeur au type spécifié et renvoie le résultat sous la forme d'un nouveau QJSPrimitiveValue.

Cette fonction a été introduite dans Qt 6.6.

Voir aussi toBoolean(), toInteger(), toDouble(), et toString().

[constexpr] bool QJSPrimitiveValue::toBoolean() const

Renvoie la valeur imposée à un booléen par les règles JavaScript.

[constexpr] double QJSPrimitiveValue::toDouble() const

Renvoie la valeur transformée en nombre JavaScript par les règles JavaScript.

[constexpr] int QJSPrimitiveValue::toInteger() const

Renvoie la valeur transformée en un nombre intégral 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 transformée en chaîne JavaScript par les règles JavaScript.

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

Renvoie le type de l'adresse QJSPrimitiveValue.

Non-membres apparentés

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

Effectue l'opération JavaScript "!==" sur lhs et rhs, et 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, et 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, et 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, et 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, et 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, et 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, et 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, et 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, et 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, et 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.