Spec-Zone.ru › Qt 6.1

Класс 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API