Spec-Zone.ru › Qt

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

Spec-Zone.ru

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