QJSPrimitiveValue Class
QJSPrimitiveValue 클래스는 자바스크립트 의미론에서 기본 유형에 대해 작동합니다. 더 보기...
Header: | #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을 지원합니다. 또한 QJSPrimitiveValue에 JavaScript null을 저장할 수 있으며, Number의 특수한 경우로 정수 값을 저장할 수 있습니다.
이러한 모든 값은 자바스크립트 힙과 상호 작용하지 않고 즉시 저장됩니다. 따라서 서로 다른 자바스크립트 엔진 간에 QJSPrimitiveValues를 전달할 수 있습니다. QJSManagedValue 와는 달리, QJSPrimitiveValue를 생성한 스레드가 아닌 다른 스레드에서 파괴해도 위험하지 않습니다. 반대로 QJSPrimitiveValue는 자바스크립트 엔진에 대한 참조를 보유하지 않습니다.
QJSPrimitiveValue는 자바스크립트 의미론에서 지원되는 유형에 대한 자바스크립트 산술 연산자와 비교 연산자를 구현합니다. 연산자가 자바스크립트 표현식으로 작성된 경우 자바스크립트 엔진이 강제하는 것처럼 유형이 강제됩니다.
JavaScript 기호 유형은 QJSPrimitiveValue의 주요 목적인 산술 및 비교 연산자와 관련하여 매우 제한적인 유용성을 가지므로 지원되지 않습니다. 특히 숫자나 문자열로 강제 변환하려고 할 때마다 예외가 발생하며, 자바스크립트 엔진 없이는 예외를 던질 수 없습니다.
멤버 유형 문서
enum QJSPrimitiveValue::Type
이 열거형은 QJSPrimitiveValue 에 포함될 수 있는 유형을 구체화합니다.
Constant | 값 | 설명 |
---|---|---|
QJSPrimitiveValue::Undefined | 0 | JavaScript 정의되지 않은 값입니다. |
QJSPrimitiveValue::Null | 1 | 자바스크립트 널 값입니다. 이것은 사실 별도의 JavaScript 유형이 아니라 객체 유형의 특수 값입니다. 매우 일반적이고 자바스크립트 엔진 없이도 저장할 수 있으므로 여전히 지원됩니다. |
QJSPrimitiveValue::Boolean | 2 | JavaScript 부울 값. |
QJSPrimitiveValue::Integer | 3 | 정수입니다. JavaScript 숫자 타입의 특수한 경우입니다. 자바스크립트에는 실제 정수 타입이 없지만 ECMA-262 표준에는 정수에서만 의미가 있는 특정 연산자, 특히 비트 시프트 연산자를 위해 숫자를 변환하는 방법에 대한 규칙이 포함되어 있습니다. QJSPrimitiveValue 의 정수 타입은 이러한 변환의 결과를 나타냅니다. |
QJSPrimitiveValue::Double | 4 | 자바스크립트 숫자 값. |
QJSPrimitiveValue::String | 5 | 자바스크립트 문자열 값입니다. |
멤버 함수 문서
[constexpr, since 6.6]
const void *QJSPrimitiveValue::constData() const
[constexpr, since 6.6]
const void *QJSPrimitiveValue::data() const
포함된 값에 대한 포인터를 쓸 수 없는 일반 공백*으로 반환합니다.
이 함수는 Qt 6.6에 도입되었습니다.
[constexpr noexcept]
QJSPrimitiveValue::QJSPrimitiveValue()
Undefined 타입의 QJSPrimitiveValue를 생성합니다.
[constexpr noexcept]
QJSPrimitiveValue::QJSPrimitiveValue(QJSPrimitiveNull null)
null 값의 QJSPrimitiveValue를 생성하고 유형은 Null입니다.
[constexpr noexcept]
QJSPrimitiveValue::QJSPrimitiveValue(QJSPrimitiveUndefined undefined)
undefined 값의 QJSPrimitiveValue를 생성하고 유형은 Undefined입니다.
[noexcept]
QJSPrimitiveValue::QJSPrimitiveValue(QString value)
value 값의 QJSPrimitiveValue를 생성하고 유형은 String입니다.
[constexpr noexcept]
QJSPrimitiveValue::QJSPrimitiveValue(bool value)
value 값의 QJSPrimitiveValue를 생성하고 유형은 부울입니다.
[explicit noexcept]
QJSPrimitiveValue::QJSPrimitiveValue(const QVariant &value)
value 의 콘텐츠가 QJSPrimtiveValue에 저장될 수 있는 경우 해당 콘텐츠로부터 QJSPrimitiveValue를 생성합니다. 그렇지 않으면 Undefined 타입의 QJSPrimitiveValue가 생성됩니다.
[constexpr noexcept]
QJSPrimitiveValue::QJSPrimitiveValue(double value)
value 값의 QJSPrimitiveValue를 생성하고 유형을 Double로 지정합니다.
[constexpr noexcept]
QJSPrimitiveValue::QJSPrimitiveValue(int value)
value 값의 QJSPrimitiveValue를 생성하고 유형은 Integer입니다.
[noexcept default, since 6.4]
QJSPrimitiveValue::QJSPrimitiveValue(QMetaType type, const void *value)
type 타입의 QJSPrimitiveVue를 생성하고 type 를 QJSPrimitiveVue에 저장할 수 있는 경우 value 로 초기화합니다. 이 경우 value 는 nullptr이 아니어야 합니다. type 을 저장할 수 없는 경우 Undefined 타입의 QJSPrimitiveValue가 생성됩니다.
저장하려는 변수의 주소를 전달해야 한다는 점에 유의하세요.
일반적으로 이 생성자를 사용할 필요는 없으며 대신 QVariant 을 사용하는 생성자를 사용합니다.
이 함수는 Qt 6.4에 도입되었습니다.
[constexpr, since 6.6]
void *QJSPrimitiveValue::data()
포함된 데이터에 대한 포인터를 쓸 수 있는 일반 공백*으로 반환합니다.
이 함수는 Qt 6.6에 도입되었습니다.
[constexpr]
bool QJSPrimitiveValue::equals(const QJSPrimitiveValue &other) const
이 QJSPrimitiveValue 및 other 에서 자바스크립트 '==' 연산을 수행하고 결과를 반환합니다.
[constexpr, since 6.6]
QMetaType QJSPrimitiveValue::metaType() const
QJSPrimitiveValue 에 저장된 값의 QMetaType 을 반환합니다.
이 함수는 Qt 6.6에 도입되었습니다.
[constexpr]
bool QJSPrimitiveValue::strictlyEquals(const QJSPrimitiveValue &other) const
이 QJSPrimitiveValue 및 other 에서 자바스크립트 '===' 연산을 수행하고 결과를 반환합니다.
[since 6.6]
template <QJSPrimitiveValue::Type type> QJSPrimitiveValue QJSPrimitiveValue::to() const
값을 지정된 유형으로 강제 변환하고 결과를 새 QJSPrimitiveValue 로 반환합니다.
이 함수는 Qt 6.6에 도입되었습니다.
toBoolean(), toInteger(), toDouble() 및 toString()도 참조하십시오 .
[constexpr]
bool QJSPrimitiveValue::toBoolean() const
자바스크립트 규칙에 의해 강제로 부울로 변환된 값을 반환합니다.
[constexpr]
double QJSPrimitiveValue::toDouble() const
자바스크립트 규칙에 의해 자바스크립트 번호로 강제 지정된 값을 반환합니다.
[constexpr]
int QJSPrimitiveValue::toInteger() const
자바스크립트가 비트 시프트 연산을 준비할 때 적용하는 규칙에 따라 32비트 정수값으로 강제로 변환된 값을 반환합니다.
QString QJSPrimitiveValue::toString() const
자바스크립트 규칙에 의해 자바스크립트 문자열로 강제 지정된 값을 반환합니다.
[constexpr]
QJSPrimitiveValue::Type QJSPrimitiveValue::type() const
QJSPrimitiveValue 의 유형을 반환합니다.
관련 비회원
[constexpr, since 6.1]
bool operator!=(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)
lhs 및 rhs 에서 자바스크립트 '!==' 연산을 수행하고 결과를 반환합니다.
이 함수는 Qt 6.1에 도입되었습니다.
[since 6.1]
QJSPrimitiveValue operator*(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)
lhs 및 rhs 에서 자바스크립트 '*' 연산을 수행하고 결과를 반환합니다.
이 함수는 Qt 6.1에 도입되었습니다.
[since 6.1]
QJSPrimitiveValue operator+(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)
lhs 및 rhs 에서 자바스크립트 '+' 연산을 수행하여 결과를 반환합니다.
이 함수는 Qt 6.1에 도입되었습니다.
[since 6.1]
QJSPrimitiveValue operator-(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)
lhs 및 rhs 에서 자바스크립트 '-' 연산을 수행하고 결과를 반환합니다.
이 함수는 Qt 6.1에 도입되었습니다.
[since 6.1]
QJSPrimitiveValue operator/(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)
lhs 와 rhs 사이에서 자바스크립트 '/' 연산을 수행하고 결과를 반환합니다.
이 함수는 Qt 6.1에 도입되었습니다.
[constexpr, since 6.1]
bool operator<(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)
lhs 및 rhs 에서 자바스크립트 '<' 연산을 수행하고 결과를 반환합니다.
이 함수는 Qt 6.1에 도입되었습니다.
[constexpr, since 6.1]
bool operator<=(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)
lhs 및 rhs 에서 자바스크립트 '<=' 연산을 수행하고 결과를 반환합니다.
이 함수는 Qt 6.1에 도입되었습니다.
[constexpr, since 6.1]
bool operator==(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)
lhs 및 rhs 에서 자바스크립트 '===' 연산을 수행하고 결과를 반환합니다.
이 함수는 Qt 6.1에 도입되었습니다.
[constexpr, since 6.1]
bool operator>(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)
lhs 및 rhs 에서 자바스크립트 '>' 연산을 수행하고 결과를 반환합니다.
이 함수는 Qt 6.1에 도입되었습니다.
[constexpr, since 6.1]
bool operator>=(const QJSPrimitiveValue &lhs, const QJSPrimitiveValue &rhs)
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.