QJSPrimitiveValue Class
La clase QJSPrimitiveValue opera sobre tipos primitivos en la semántica de JavaScript. Más...
| Cabecera: | #include <QJSPrimitiveValue> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Qml)target_link_libraries(mytarget PRIVATE Qt6::Qml) |
| qmake: | QT += qml |
| Desde: | Qt 6.1 |
Tipos Públicos
| enum | Type { Undefined, Null, Boolean, Integer, Double, String } |
Funciones Públicas
| 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 |
No miembros relacionados
(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) |
Descripción detallada
QJSPrimitiveValue soporta la mayoría de los tipos primitivos definidos en el estándar ECMA-262, en particular Undefined, Boolean, Number y String. Además, se puede almacenar un null de JavaScript en un QJSPrimitiveValue y, como caso especial de Number, se puede almacenar un valor entero.
Todos estos valores se almacenan inmediatamente, sin interactuar con el montón de JavaScript. Por lo tanto, puedes pasar QJSPrimitiveValues entre diferentes motores JavaScript. En contraste con QJSManagedValue, tampoco hay peligro en destruir un QJSPrimitiveValue desde un hilo diferente al que fue creado. Por otro lado, QJSPrimitiveValue no mantiene una referencia a ningún motor JavaScript.
QJSPrimitiveValue implementa los operadores aritméticos y de comparación de JavaScript sobre los tipos soportados en la semántica de JavaScript. Los tipos se coercionan como lo haría el motor JavaScript si los operadores se escribieran en una expresión JavaScript.
El tipo JavaScript Symbol no está soportado ya que es de utilidad muy limitada en lo que respecta a los operadores aritméticos y de comparación, el propósito principal de QJSPrimitiveValue. En particular, provoca una excepción cuando se intenta convertirlo en un número o una cadena, y no podemos lanzar excepciones sin un motor JavaScript.
Documentación de tipos de miembros
enum QJSPrimitiveValue::Type
Este enum especifica los tipos que puede contener QJSPrimitiveValue.
| Constante | Valor | Descripción |
|---|---|---|
QJSPrimitiveValue::Undefined | 0 | El valor Undefined de JavaScript. |
QJSPrimitiveValue::Null | 1 | El valor nulo de JavaScript. De hecho, no es un tipo JavaScript separado, sino un valor especial del tipo Object. Como es muy común y almacenable sin el motor de JavaScript, todavía se admite. |
QJSPrimitiveValue::Boolean | 2 | Un valor booleano de JavaScript. |
QJSPrimitiveValue::Integer | 3 | Un número entero. Se trata de un caso especial del tipo Number de JavaScript. JavaScript no tiene un tipo entero propiamente dicho, pero el estándar ECMA-262 contiene reglas sobre cómo transformar un Número para prepararlo para ciertos operadores que sólo tienen sentido en enteros, en particular los operadores de desplazamiento de bits. QJSPrimitiveValue El tipo Integer de JavaScript representa el resultado de dicha transformación. |
QJSPrimitiveValue::Double | 4 | Un valor numérico de JavaScript. |
QJSPrimitiveValue::String | 5 | Un valor JavaScript String. |
Documentación de las funciones miembro
[constexpr noexcept] QJSPrimitiveValue::QJSPrimitiveValue()
Crea un QJSPrimitiveValue de tipo Undefined.
[constexpr noexcept] QJSPrimitiveValue::QJSPrimitiveValue(QJSPrimitiveNull null)
Crea un QJSPrimitiveValue de valor null y tipo Null.
[constexpr noexcept] QJSPrimitiveValue::QJSPrimitiveValue(QJSPrimitiveUndefined undefined)
Crea un QJSPrimitiveValue de valor undefined y tipo Undefined.
[noexcept] QJSPrimitiveValue::QJSPrimitiveValue(QString value)
Crea un QJSPrimitiveValue de valor value y tipo String.
[constexpr noexcept] QJSPrimitiveValue::QJSPrimitiveValue(bool value)
Crea un QJSPrimitiveValue de valor value y tipo Boolean.
[explicit noexcept] QJSPrimitiveValue::QJSPrimitiveValue(const QVariant &value)
Crea un QJSPrimitiveValue a partir del contenido de value si dicho contenido puede almacenarse en QJSPrimitiveValue. En caso contrario, el resultado es un QJSPrimitiveValue de tipo Undefined.
[constexpr noexcept] QJSPrimitiveValue::QJSPrimitiveValue(double value)
Crea un QJSPrimitiveValue de valor value y tipo Double.
[constexpr noexcept] QJSPrimitiveValue::QJSPrimitiveValue(int value)
Crea un QJSPrimitiveValue de valor value y tipo Integer.
[noexcept default, since 6.4] QJSPrimitiveValue::QJSPrimitiveValue(QMetaType type, const void *value)
Crea un QJSPrimitiveValue de tipo type, e inicializa con value si type puede almacenarse en QJSPrimitiveValue. value no debe ser nullptr en ese caso. Si type no puede ser almacenado esto resulta en un QJSPrimitiveValue de tipo Undefined.
Tenga en cuenta que tiene que pasar la dirección de la variable que desea almacenar.
Normalmente, nunca tendrás que usar este constructor, usa el que toma QVariant en su lugar.
Esta función se introdujo en Qt 6.4.
[constexpr, since 6.6] const void *QJSPrimitiveValue::constData() const
[constexpr, since 6.6] const void *QJSPrimitiveValue::data() const
Devuelve un puntero al valor contenido como un void* genérico en el que no se puede escribir.
Estas funciones se introdujeron en Qt 6.6.
[constexpr, since 6.6] void *QJSPrimitiveValue::data()
Devuelve un puntero a los datos contenidos como un void* genérico en el que se puede escribir.
Esta función se introdujo en Qt 6.6.
[constexpr] bool QJSPrimitiveValue::equals(const QJSPrimitiveValue &other) const
Realiza la operación '==' de JavaScript en este QJSPrimitiveValue y other, y devuelve el resultado.
[constexpr, since 6.6] QMetaType QJSPrimitiveValue::metaType() const
Devuelve el QMetaType del valor almacenado en el QJSPrimitiveValue.
Esta función se introdujo en Qt 6.6.
[constexpr] bool QJSPrimitiveValue::strictlyEquals(const QJSPrimitiveValue &other) const
Realiza la operación '===' de JavaScript en este QJSPrimitiveValue y other, y devuelve el resultado.
[since 6.6] template <QJSPrimitiveValue::Type type> QJSPrimitiveValue QJSPrimitiveValue::to() const
Coacciona el valor al tipo especificado y devuelve el resultado como un nuevo QJSPrimitiveValue.
Esta función se introdujo en Qt 6.6.
Véase también toBoolean(), toInteger(), toDouble() y toString().
[constexpr] bool QJSPrimitiveValue::toBoolean() const
Devuelve el valor forzado de un booleano por las reglas de JavaScript.
[constexpr] double QJSPrimitiveValue::toDouble() const
Devuelve el valor forzado a un Número JavaScript por las reglas JavaScript.
[constexpr] int QJSPrimitiveValue::toInteger() const
Devuelve el valor coaccionado a un número integral de 32 bits mediante las reglas que JavaScript aplicaría al prepararlo para una operación de desplazamiento de bits.
QString QJSPrimitiveValue::toString() const
Devuelve el valor coaccionado a una cadena JavaScript por las reglas JavaScript.
[constexpr] QJSPrimitiveValue::Type QJSPrimitiveValue::type() const
Devuelve el tipo de QJSPrimitiveValue.
Relacionados No miembros
[constexpr, since 6.1] bool operator!=(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)
Realiza la operación '!==' de JavaScript en lhs y rhs, y devuelve el resultado.
Esta función se introdujo en Qt 6.1.
[since 6.1] QJSPrimitiveValue operator*(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)
Realiza la operación '*' de JavaScript en lhs y rhs, y devuelve el resultado.
Esta función se introdujo en Qt 6.1.
[since 6.1] QJSPrimitiveValue operator+(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)
Realiza la operación '+' de JavaScript en lhs y rhs, y devuelve el resultado.
Esta función se introdujo en Qt 6.1.
[since 6.1] QJSPrimitiveValue operator-(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)
Realiza la operación '-' de JavaScript en lhs y rhs, y devuelve el resultado.
Esta función se introdujo en Qt 6.1.
[since 6.1] QJSPrimitiveValue operator/(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)
Realiza la operación '/' de JavaScript entre lhs y rhs, y devuelve el resultado.
Esta función se introdujo en Qt 6.1.
[constexpr, since 6.1] bool operator<(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)
Realiza la operación '<' de JavaScript en lhs y rhs, y devuelve el resultado.
Esta función se introdujo en Qt 6.1.
[constexpr, since 6.1] bool operator<=(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)
Realiza la operación '<=' de JavaScript en lhs y rhs, y devuelve el resultado.
Esta función se introdujo en Qt 6.1.
[constexpr, since 6.1] bool operator==(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)
Realiza la operación '===' de JavaScript en lhs y rhs, y devuelve el resultado.
Esta función se introdujo en Qt 6.1.
[constexpr, since 6.1] bool operator>(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)
Realiza la operación '>' de JavaScript en lhs y rhs, y devuelve el resultado.
Esta función se introdujo en Qt 6.1.
[constexpr, since 6.1] bool operator>=(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)
Realiza la operación '>=' de JavaScript en lhs y rhs, y devuelve el resultado.
Esta función se introdujo en 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.