이 페이지에서

QJSPrimitiveValue Class

QJSPrimitiveValue 클래스는 자바스크립트 의미 체계에서 기본 데이터형을 대상으로 작동합니다. 더 보기...

헤더: #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을 지원합니다. 또한, QJSPrimitiveValue에 JavaScript null을 저장할 수 있으며, Number의 특수한 경우로 정수 값을 저장할 수도 있습니다.

이러한 모든 값은 자바스크립트 힙과 상호 작용하지 않고 즉시 저장됩니다. 따라서 서로 다른 자바스크립트 엔진 간에 QJSPrimitiveValue를 전달할 수 있습니다. QJSManagedValue 와 달리, QJSPrimitiveValue를 생성된 스레드와 다른 스레드에서 소멸시켜도 아무런 위험이 없습니다. 반면, QJSPrimitiveValue는 어떤 자바스크립트 엔진에 대한 참조도 보유하지 않습니다.

QJSPrimitiveValue는 지원되는 유형에 대해 자바스크립트 의미론에 따라 자바스크립트 산술 연산자 및 비교 연산자를 구현합니다. 유형 변환은 연산자가 자바스크립트 표현식으로 작성되었을 때 자바스크립트 엔진이 수행할 방식과 동일하게 이루어집니다.

JavaScript Symbol 유형은 QJSPrimitiveValue의 주된 목적인 산술 및 비교 연산자와 관련하여 유용성이 매우 제한적이므로 지원되지 않습니다. 특히, 이 유형을 숫자나 문자열로 형변환하려고 할 때마다 예외가 발생하는데, JavaScript 엔진 없이는 예외를 발생시킬 수 없습니다.

멤버 유형 문서

enum QJSPrimitiveValue::Type

이 열거형은 ‘ QJSPrimitiveValue ’에 포함될 수 있는 유형들을 지정합니다.

상수상수설명
QJSPrimitiveValue::Undefined0JavaScript의 Undefined 값입니다.
QJSPrimitiveValue::Null1JavaScript의 null 값입니다. 사실 이것은 별도의 JavaScript 유형이 아니라 Object 유형의 특수 값입니다. 매우 흔하게 사용되며 JavaScript 엔진 없이도 저장할 수 있기 때문에 여전히 지원됩니다.
QJSPrimitiveValue::Boolean2자바스크립트 부울 값입니다.
QJSPrimitiveValue::Integer3정수입니다. 이는 자바스크립트 Number 유형의 특수한 경우입니다. 자바스크립트에는 실제 정수 유형이 없지만, ECMA-262 표준에는 정수에서만 의미가 있는 특정 연산자(특히 비트 시프트 연산자)를 처리하기 위해 Number를 변환하는 방법에 대한 규칙이 포함되어 있습니다. QJSPrimitiveValue 의 Integer 유형은 이러한 변환의 결과를 나타냅니다.
QJSPrimitiveValue::Double4자바스크립트 Number 값.
QJSPrimitiveValue::String5자바스크립트 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

자바스크립트 규칙에 따라 부울 값으로 변환된 값을 반환합니다.

[constexpr] double QJSPrimitiveValue::toDouble() const

자바스크립트 규칙에 따라 자바스크립트 Number로 형변환된 값을 반환합니다.

[constexpr] int QJSPrimitiveValue::toInteger() const

자바스크립트가 비트 시프트 연산을 수행하기 위해 값을 준비할 때 적용하는 규칙에 따라 32비트 정수로 형변환된 값을 반환합니다.

QString QJSPrimitiveValue::toString() const

자바스크립트 규칙에 따라 자바스크립트 String으로 형변환된 값을 반환합니다.

[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.