QJSPrimitiveValue Class
QJSPrimitiveValueクラスは、JavaScriptセマンティクスでプリミティブ型を操作します。詳細...
ヘッダー | #include <QJSPrimitiveValue> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Qml) target_link_libraries(mytarget PRIVATE Qt6::Qml) |
qmake: | QT += qml |
以来: | Qt 6.1 |
パブリックな型
enum | Type { Undefined, Null, Boolean, Integer, Double, String } |
パブリック関数
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 |
関連する非メンバー
(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) |
詳細説明
QJSPrimitiveValueは、ECMA-262標準に定義されているプリミティブ型のほとんどをサポートしており、特にUndefined、Boolean、Number、Stringをサポートしています。さらに、JavaScriptのNULLをQJSPrimitiveValueに格納することができ、Numberの特殊なケースとして整数値を格納することができます。
これらの値はすべて、JavaScriptのヒープとやりとりすることなく、即座に格納されます。したがって、異なるJavaScriptエンジン間でQJSPrimitiveValueを渡すことができます。QJSManagedValue とは対照的に、QJSPrimitiveValueを作成されたスレッドとは異なるスレッドから破棄する危険性もありません。反面、QJSPrimitiveValueはどのJavaScriptエンジンへの参照も保持しません。
QJSPrimitiveValueは、JavaScriptのセマンティクスでサポートされている型にJavaScriptの算術演算子と比較演算子を実装しています。型は、演算子がJavaScript式で記述された場合、JavaScriptエンジンがそれらを強制するように強制されます。
JavaScriptのSymbol型は、QJSPrimitiveValueの主な目的である算術演算子や比較演算子に関して非常に限定的な実用性しかないため、サポートされていません。特に、数値や文字列に強制しようとすると例外が発生し、JavaScript Engineなしでは例外を投げることができません。
メンバ型ドキュメント
enum QJSPrimitiveValue::Type
この列挙型は、QJSPrimitiveValue が含む可能性のある型を指定します。
定数 | 値 | 説明 |
---|---|---|
QJSPrimitiveValue::Undefined | 0 | JavaScript の未定義値。 |
QJSPrimitiveValue::Null | 1 | JavaScript の null 値。これは実際には別のJavaScript型ではなく、Object型の特別な値です。これは非常に一般的で、JavaScript エンジンがなくても保存できるため、まだサポートされています。 |
QJSPrimitiveValue::Boolean | 2 | JavaScript のブール値。 |
QJSPrimitiveValue::Integer | 3 | 整数。これはJavaScriptのNumber型の特殊なケースです。JavaScript には実際の整数型はありませんが、ECMA-262標準には、整数でしか意味をなさない特定の演算子、特にビットシフト演算子に対応するために、Number をどのように変換するかのルールが含まれています。QJSPrimitiveValueInteger 型はそのような変換の結果を表します。 |
QJSPrimitiveValue::Double | 4 | JavaScript の Number 値。 |
QJSPrimitiveValue::String | 5 | JavaScript 文字列値。 |
メンバ関数のドキュメント
[constexpr, since 6.6]
const void *QJSPrimitiveValue::constData() const
[constexpr, since 6.6]
const void *QJSPrimitiveValue::data() const
含まれる値へのポインタを、書き込めない汎用 void* として返します。
この関数は Qt 6.6 で導入されました。
[constexpr noexcept]
QJSPrimitiveValue::QJSPrimitiveValue()
Undefined 型の QJSPrimitiveValue を作成します。
[constexpr noexcept]
QJSPrimitiveValue::QJSPrimitiveValue(QJSPrimitiveNull null)
値null 、型NullのQJSPrimitiveValueを作成します。
[constexpr noexcept]
QJSPrimitiveValue::QJSPrimitiveValue(QJSPrimitiveUndefined undefined)
値undefined 、型UndefinedのQJSPrimitiveValueを作成します。
[noexcept]
QJSPrimitiveValue::QJSPrimitiveValue(QString value)
値value 、String型のQJSPrimitiveValueを作成します。
[constexpr noexcept]
QJSPrimitiveValue::QJSPrimitiveValue(bool value)
値value 、Boolean型のQJSPrimitiveValueを作成します。
[explicit noexcept]
QJSPrimitiveValue::QJSPrimitiveValue(const QVariant &value)
value の内容が QJSPrimtiveValue に格納できる場合、その内容から QJSPrimitiveValue を作成します。そうでない場合は、Undefined型のQJSPrimitiveValueになります。
[constexpr noexcept]
QJSPrimitiveValue::QJSPrimitiveValue(double value)
値value および Double 型の QJSPrimitiveValue を作成します。
[constexpr noexcept]
QJSPrimitiveValue::QJSPrimitiveValue(int value)
値value 、型IntegerのQJSPrimitiveValueを作成します。
[noexcept default, since 6.4]
QJSPrimitiveValue::QJSPrimitiveValue(QMetaType type, const void *value)
type が QJSPrimtiveValue に格納できる場合、type 型の QJSPrimitiveValue を作成し、value で初期化する。value は nullptr であってはならない。type が格納できない場合は、Undefined型のQJSPrimitiveValueになります。
格納したい変数のアドレスを渡さなければならないことに注意してください。
通常は、このコンストラクタを使用する必要はなく、代わりにQVariant を取るコンストラクタを使用してください。
この関数はQt 6.4で導入されました。
[constexpr, since 6.6]
void *QJSPrimitiveValue::data()
含まれるデータへのポインタを、書き込み可能な汎用 void* として返します。
この関数は Qt 6.6 で導入されました。
[constexpr]
bool QJSPrimitiveValue::equals(const QJSPrimitiveValue &other) const
このQJSPrimitiveValue とother に対して JavaScript の '==' 操作を実行し、結果を返します。
[constexpr, since 6.6]
QMetaType QJSPrimitiveValue::metaType() const
QJSPrimitiveValue に格納されている値のQMetaType を返します。
この関数は Qt 6.6 で導入されました。
[constexpr]
bool QJSPrimitiveValue::strictlyEquals(const QJSPrimitiveValue &other) const
このQJSPrimitiveValue とother に対して JavaScript の '===' 操作を実行し、結果を返します。
[since 6.6]
template <QJSPrimitiveValue::Type type> QJSPrimitiveValue QJSPrimitiveValue::to() const
値を指定された型に強制変換し、結果を新しいQJSPrimitiveValue として返します。
この関数は Qt 6.6 で導入されました。
toBoolean(),toInteger(),toDouble(),toString()も参照してください 。
[constexpr]
bool QJSPrimitiveValue::toBoolean() const
JavaScriptのルールによってブール値に強制された値を返します。
[constexpr]
double QJSPrimitiveValue::toDouble() const
JavaScriptルールによってJavaScript Numberに強制された値を返します。
[constexpr]
int QJSPrimitiveValue::toInteger() const
JavaScriptがビットシフト操作のために準備するときに適用するルールによって、32ビットの整数値に強制された値を返します。
QString QJSPrimitiveValue::toString() const
JavaScript のルールによって JavaScript 文字列に強制された値を返します。
[constexpr]
QJSPrimitiveValue::Type QJSPrimitiveValue::type() const
QJSPrimitiveValue の型を返します。
関連する非会員
[constexpr, 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)
lhs とrhs の間で JavaScript の '/' 操作を行い、結果を返します。
この関数は Qt 6.1 で導入されました。
[constexpr, since 6.1]
bool operator<(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)
JavaScript の '<' オペレーションをlhs とrhs に対して実行し、結果を返します。
この関数は Qt 6.1 で導入されました。
[constexpr, since 6.1]
bool operator<=(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)
JavaScript の '<=' 演算をlhs とrhs に対して実行し、結果を返します。
この関数は Qt 6.1 で導入されました。
[constexpr, since 6.1]
bool operator==(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)
JavaScript の '===' 操作をlhs とrhs に対して実行し、結果を返します。
この関数は Qt 6.1 で導入されました。
[constexpr, since 6.1]
bool operator>(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)
JavaScript の '>' 操作をlhs とrhs に対して実行し、結果を返します。
この関数は Qt 6.1 で導入されました。
[constexpr, since 6.1]
bool operator>=(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)
JavaScript の '>=' 演算をlhs とrhs に対して実行し、結果を返します。
この関数は Qt 6.1 で導入されました。
© 2025 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.