このページでは

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(QJSPrimitiveValue::Type)
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のSymbol型は、QJSPrimitiveValueの主な目的である算術演算子や比較演算子に関して実用性が極めて限られているため、サポートされていません。特に、これを数値や文字列に型変換しようとすると例外が発生しますが、JavaScriptエンジンなしでは例外をスローすることができません。

メンバ型のドキュメント

enum QJSPrimitiveValue::Type

この列挙型は、QJSPrimitiveValue が含む可能性のある型を指定します。

定数値説明
QJSPrimitiveValue::Undefined0JavaScript の Undefined 値。
QJSPrimitiveValue::Null1JavaScript の null 値。これは実際には独立した JavaScript 型ではなく、Object 型の特別な値です。非常に一般的であり、JavaScript エンジンなしで保存できるため、引き続きサポートされています。
QJSPrimitiveValue::Boolean2JavaScriptのブール値。
QJSPrimitiveValue::Integer3整数。これは JavaScript の Number 型の特殊なケースです。 JavaScript には実際の整数型はありませんが、ECMA-262標準には、整数でのみ意味をなす特定の演算子(特にビットシフト演算子)に対応するために、Number をどのように変換するかに関する規則が含まれています。QJSPrimitiveValue の Integer 型は、そのような変換の結果を表しています。
QJSPrimitiveValue::Double4JavaScript の Number 値。
QJSPrimitiveValue::String5JavaScript の String 値。

メンバ関数のドキュメント

[constexpr noexcept default] QJSPrimitiveValue::QJSPrimitiveValue()

「Undefined」型の QJSPrimitiveValue を作成します。

[constexpr noexcept] QJSPrimitiveValue::QJSPrimitiveValue(QJSPrimitiveNull null)

値が `null `、型が `Null` の `QJSPrimitiveValue` を作成します。

[constexpr noexcept] QJSPrimitiveValue::QJSPrimitiveValue(QJSPrimitiveUndefined undefined)

値が `undefined `、型が `Undefined` である `QJSPrimitiveValue` を作成します。

[delete] QJSPrimitiveValue::QJSPrimitiveValue(QJSPrimitiveValue::Type)

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 の内容から QJSPrimitiveValue を作成します。ただし、その内容が QJSPrimitiveValue に格納可能な場合に限ります。そうでない場合、結果は Undefined 型の QJSPrimitiveValue となります。

[constexpr noexcept] QJSPrimitiveValue::QJSPrimitiveValue(double value)

値がvalue で、型がDoubleのQJSPrimitiveValueを作成します。

[constexpr noexcept] QJSPrimitiveValue::QJSPrimitiveValue(int value)

値がvalue 、型がIntegerのQJSPrimitiveValueを作成します。

[noexcept implicit, since 6.4] QJSPrimitiveValue::QJSPrimitiveValue(QMetaType type, const void *value)

type 型のQJSPrimitiveValueを作成し、type をQJSPrimitiveValueに格納できる場合は、value で初期化します。その場合、value はnullptrであってはなりません。type を格納できない場合、結果はUndefined型のQJSPrimitiveValueとなります。

格納したい変数のアドレスを渡す必要がある点に注意してください。

通常、このコンストラクタを使用する必要はなく、代わりにQVariant を受け取るコンストラクタを使用してください。

この関数は Qt 6.4 で導入されました。

[constexpr, since 6.6] const void *QJSPrimitiveValue::constData() const

[constexpr, since 6.6] const void *QJSPrimitiveValue::data() const

格納されている値へのポインタを、書き込み不可の汎用 void* として返します。

これらの関数は Qt 6.6 で導入されました。

[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

値を指定されたtype に変換し、その結果を新しい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)

lhs およびrhs に対してJavaScriptの「!==」演算を実行し、その結果を返します。

この関数は Qt 6.1 で導入されました。

[since 6.1] QJSPrimitiveValue operator*(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)

lhs およびrhs に対して JavaScript の「*」演算を実行し、その結果を返します。

この関数は Qt 6.1 で導入されました。

[since 6.1] QJSPrimitiveValue operator+(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)

lhs およびrhs に対して JavaScript の「+」演算を実行し、その結果を返します。

この関数は Qt 6.1 で導入されました。

[since 6.1] QJSPrimitiveValue operator-(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)

lhs およびrhs に対して JavaScript の「-」演算を実行し、その結果を返します。

この関数は 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)

lhs およびrhs に対して JavaScript の「<」演算を実行し、その結果を返します。

この関数は Qt 6.1 で導入されました。

[constexpr, since 6.1] bool 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)

lhs およびrhs に対して JavaScript の「===」演算を実行し、その結果を返します。

この関数は Qt 6.1 で導入されました。

[constexpr, since 6.1] bool 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)

lhs およびrhs に対して JavaScript の「>=」演算を実行し、その結果を返します。

この関数は Qt 6.1 で導入されました。

© 2026 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.