Класс 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 |
Открытые типы
| перечисление | Type { Неопределённый, 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 | type() const |
Связанные нечлены
| bool | operator!=(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs) |
| QJSPrimitiveValue | operator*(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs) |
| QJSPrimitiveValue | operator+(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs) |
| QJSPrimitiveValue | operator-(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs) |
| QJSPrimitiveValue | operator/(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs) |
| bool | operator<(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs) |
| bool | operator<=(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs) |
| bool | operator==(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs) |
| bool | operator>(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs) |
| bool | operator>=(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs) |
Подробное описание
QJSPrimitiveValue поддерживает большинство примитивных типов, определённых в стандарте ECMA-262, в частности Undefined, Boolean, Number и String. Кроме того, можно хранить в QJSPrimitiveValue значение JavaScript null, и как особый случай типа Number, можно хранить целое значение.
Все эти значения хранятся непосредственно, без взаимодействия с кучей JavaScript. Поэтому QJSPrimitiveValues можно передавать между различными движками JavaScript. В отличие от QJSManagedValue, также нет опасности уничтожения QJSPrimitiveValue из потока, отличного от того, в котором он был создан. С другой стороны, QJSPrimitiveValue не хранит ссылку на какой-либо движок JavaScript.
QJSPrimitiveValue реализует арифметические и операторы сравнения JavaScript для поддерживаемых типов в семантике JavaScript. Типы приводятся так же, как движок JavaScript привёл бы их, если бы операторы были написаны в выражении JavaScript.
Тип JavaScript Symbol не поддерживается, так как он имеет очень ограниченное применение в отношении арифметических и операторов сравнения, которая является основной целью QJSPrimitiveValue. В частности, он вызывает исключение всякий раз, когда вы пытаетесь привести его к числу или строке, и мы не можем генерировать исключения без движка JavaScript.
Документация по типам членов
Перечисление QJSPrimitiveValue::Type
Это перечисление определяет типы, которые может содержать 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::Type QJSPrimitiveValue::type() const
Возвращает тип QJSPrimitiveValue.
Связанные нечленные функции
[since 6.1] bool operator!=(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)
Выполняет операцию JavaScript '!==' над lhs и rhs и возвращает результат.
Эта функция была введена в Qt 6.1.
[since 6.1] QJSPrimitiveValue operator*(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)
Выполняет операцию JavaScript '*' над lhs и rhs и возвращает результат.
Эта функция была введена в Qt 6.1.
[since 6.1] QJSPrimitiveValue operator+(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)
Выполняет операцию JavaScript '+' над lhs и rhs и возвращает результат.
Эта функция была введена в Qt 6.1.
[since 6.1] QJSPrimitiveValue operator-(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)
Выполняет операцию JavaScript '-' над lhs и rhs и возвращает результат.
Эта функция была введена в Qt 6.1.
[since 6.1] QJSPrimitiveValue operator/(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)
Выполняет операцию JavaScript '/' над lhs и rhs и возвращает результат.
Эта функция была введена в Qt 6.1.
[since 6.1] bool operator<(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)
Выполняет операцию JavaScript '<' над lhs и rhs и возвращает результат.
Эта функция была введена в Qt 6.1.
[since 6.1] bool operator<=(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)
Выполняет операцию JavaScript '<=' над lhs и rhs и возвращает результат.
Эта функция была введена в Qt 6.1.
[since 6.1] bool operator==(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)
Выполняет операцию JavaScript '===' над lhs и rhs и возвращает результат.
Эта функция была введена в Qt 6.1.
[since 6.1] bool operator>(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)
Выполняет операцию JavaScript '>' над lhs и rhs и возвращает результат.
Эта функция была введена в Qt 6.1.
[since 6.1] bool operator>=(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)
Выполняет операцию JavaScript '>=' над lhs и rhs и возвращает результат.
Эта функция была введена в Qt 6.1.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qjsprimitivevalue.html