Класс QJSPrimitiveValue
Класс QJSPrimitiveValue работает с примитивными типами в семантике JavaScript. Подробнее...
| Заголовок: | #include <QJSPrimitiveValue> |
| CMake: | find_package(Qt6 COMPONENTS Qml REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Qml) |
| qmake: | QT += qml |
| С момента: | Qt 6.1 |
Типы публичного доступа
| Перечисление | Тип { Неопределённый, Null, Boolean, Целое, Двойное, Строка } |
Функции публичного доступа
| QJSPrimitiveValue(QString value) | |
| QJSPrimitiveValue(double value) | |
| QJSPrimitiveValue(int value) | |
| QJSPrimitiveValue(bool value) | |
| QJSPrimitiveValue(QJSPrimitiveNull null) | |
| QJSPrimitiveValue(QJSPrimitiveUndefined undefined) | |
| QJSPrimitiveValue() | |
| bool | equals(const QJSPrimitiveValue &other) const |
| bool | strictlyEquals(const QJSPrimitiveValue &other) const |
| bool | toBoolean() const |
| double | toDouble() const |
| int | toInteger() const |
| QString | toString() const |
| QJSPrimitiveValue::Тип | type() const |
Подробное описание
QJSPrimitiveValue поддерживает большинство примитивных типов, определённых в стандарте ECMA-262, в частности, Undefined, Boolean, Number и String. Дополнительно, можно хранить в QJSPrimitiveValue значение JavaScript null, а целое значение — как специальный случай типа Number.
Все эти значения хранятся непосредственно без взаимодействия с кучей JavaScript. Поэтому QJSPrimitiveValue можно передавать между различными движками JavaScript. В отличие от QJSManagedValue, также нет опасности уничтожения QJSPrimitiveValue из другого потока, чем тот, в котором он был создан. С другой стороны, QJSPrimitiveValue не хранит ссылку на какой-либо движок JavaScript.
QJSPrimitiveValue реализует арифметические и операторы сравнения JavaScript для поддерживаемых типов в семантике JavaScript. Типы приводятся так же, как движок JavaScript привёл бы их, если бы операторы были написаны в выражении JavaScript.
Тип JavaScript Symbol не поддерживается, поскольку он имеет очень ограниченное применение в отношении арифметических и операторов сравнения, являющихся основной целью QJSPrimitiveValue. В частности, он вызывает исключение всякий раз, когда вы пытаетесь привести его к числу или строке, и мы не можем бросать исключения без движка JavaScript.
Документация по типам членов
Перечисление QJSPrimitiveValue::Тип
Это перечисление определяет типы, которые может содержать QJSPrimitiveValue.
| Константа | Значение | Описание |
|---|---|---|
QJSPrimitiveValue::Undefined |
0 |
Значение JavaScript Undefined. |
QJSPrimitiveValue::Null |
1 |
Значение JavaScript null. На самом деле это не отдельный тип JavaScript, а специальное значение типа Object. Поскольку он очень распространён и может храниться без движка JavaScript, он всё ещё поддерживается. |
QJSPrimitiveValue::Boolean |
2 |
Значение JavaScript Boolean. |
QJSPrimitiveValue::Integer |
3 |
Целое число. Это особый случай типа JavaScript Number. У JavaScript нет собственного целочисленного типа, но стандарт ECMA-262 содержит правила преобразования числа для подготовки его к определённым операторам, которые имеют смысл только для целых чисел, в частности, операторам битового сдвига. Тип Integer QJSPrimitiveValue представляет собой результат такого преобразования. |
QJSPrimitiveValue::Double |
4 |
Значение JavaScript Number. |
QJSPrimitiveValue::String |
5 |
Значение JavaScript String. |
Документация по функциям членов
QJSPrimitiveValue::QJSPrimitiveValue(QString value)
Создаёт QJSPrimitiveValue со значением value и типом String.
QJSPrimitiveValue::QJSPrimitiveValue(double value)
Создаёт QJSPrimitiveValue со значением value и типом Double.
QJSPrimitiveValue::QJSPrimitiveValue(int value)
Создаёт QJSPrimitiveValue со значением value и типом Integer.
QJSPrimitiveValue::QJSPrimitiveValue(bool value)
Создаёт QJSPrimitiveValue со значением value и типом Boolean.
QJSPrimitiveValue::QJSPrimitiveValue(QJSPrimitiveNull null)
Создаёт QJSPrimitiveValue со значением null и типом Null.
QJSPrimitiveValue::QJSPrimitiveValue(QJSPrimitiveUndefined undefined)
Создаёт QJSPrimitiveValue со значением undefined и типом Undefined.
QJSPrimitiveValue::QJSPrimitiveValue()
Создаёт QJSPrimitiveValue типа Undefined.
bool QJSPrimitiveValue::equals(const QJSPrimitiveValue &other) const
Выполняет операцию JavaScript '==' для этого QJSPrimitiveValue и other и возвращает результат.
bool QJSPrimitiveValue::strictlyEquals(const QJSPrimitiveValue &other) const
Выполняет операцию JavaScript '===' для этого QJSPrimitiveValue и other и возвращает результат.
bool QJSPrimitiveValue::toBoolean() const
Возвращает значение, преобразованное в булево, по правилам JavaScript.
double QJSPrimitiveValue::toDouble() const
Возвращает значение, приведённое к числу JavaScript, по правилам JavaScript.
int QJSPrimitiveValue::toInteger() const
Возвращает значение, приведённое к целочисленному 32-битному числу по правилам, которые JavaScript применяет при подготовке его к операции битового сдвига.
QString QJSPrimitiveValue::toString() const
Возвращает значение, приведённое к строке JavaScript, по правилам JavaScript.
QJSPrimitiveValue::Тип QJSPrimitiveValue::type() const
Возвращает тип QJSPrimitiveValue.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/qjsprimitivevalue.html