QJSManagedValue Class
QJSManagedValue는 QJSEngine 에 속하는 JavaScript 힙상의 값을 나타냅니다. 더 보기...
| 헤더: | #include <QJSManagedValue> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Qml) target_link_libraries(mytarget PRIVATE Qt6::Qml) |
| qmake: | QT += qml |
| 다음부터: | Qt 6.1부터 |
공개 유형
| enum | Type { Undefined, Boolean, Number, String, Object, …, Function } |
공개 함수
| QJSManagedValue() | |
| QJSManagedValue(QJSValue value, QJSEngine *engine) | |
| QJSManagedValue(const QJSPrimitiveValue &value, QJSEngine *engine) | |
| QJSManagedValue(const QString &string, QJSEngine *engine) | |
| QJSManagedValue(const QVariant &variant, QJSEngine *engine) | |
| QJSManagedValue(QJSManagedValue &&other) | |
| ~QJSManagedValue() | |
| QJSValue | call(const QJSValueList &arguments = {}) const |
| QJSValue | callAsConstructor(const QJSValueList &arguments = {}) const |
| QJSValue | callWithInstance(const QJSValue &instance, const QJSValueList &arguments = {}) const |
| bool | deleteProperty(const QString &name) |
| bool | deleteProperty(quint32 arrayIndex) |
| QJSEngine * | engine() const |
| bool | equals(const QJSManagedValue &other) const |
| bool | hasOwnProperty(const QString &name) const |
| bool | hasOwnProperty(quint32 arrayIndex) const |
| bool | hasProperty(const QString &name) const |
| bool | hasProperty(quint32 arrayIndex) const |
| bool | isArray() const |
| bool | isBoolean() const |
| bool | isDate() const |
| bool | isError() const |
| bool | isFunction() const |
| bool | isInteger() const |
| bool | isNull() const |
| bool | isNumber() const |
| bool | isObject() const |
| bool | isQMetaObject() const |
| bool | isQObject() const |
| bool | isRegularExpression() const |
| bool | isString() const |
| bool | isSymbol() const |
| bool | isUndefined() const |
| bool | isUrl() const |
| bool | isVariant() const |
| QJSValue | property(const QString &name) const |
| QJSValue | property(quint32 arrayIndex) const |
| QJSManagedValue | prototype() const |
| void | setProperty(const QString &name, const QJSValue &value) |
| void | setProperty(quint32 arrayIndex, const QJSValue &value) |
| void | setPrototype(const QJSManagedValue &prototype) |
| bool | strictlyEquals(const QJSManagedValue &other) const |
| bool | toBoolean() const |
| QDateTime | toDateTime() const |
| int | toInteger() const |
| QJSValue | toJSValue() const |
| double | toNumber() const |
| QJSPrimitiveValue | toPrimitive() const |
| const QMetaObject * | toQMetaObject() const |
| QObject * | toQObject() const |
| QRegularExpression | toRegularExpression() const |
| QString | toString() const |
| QUrl | toUrl() const |
| QVariant | toVariant() const |
| QJSManagedValue::Type | type() const |
| QJSManagedValue & | operator=(QJSManagedValue &&other) |
상세 설명
QJSManagedValue 클래스를 사용하면 JavaScript 자체에서 JavaScript 값과 상호 작용할 수 있는 대부분의 방식으로 해당 값과 상호 작용할 수 있습니다. 속성과 프로토타입을 가져오고 설정할 수 있으며, 배열에 접근할 수도 있습니다. 또한, 해당 값을 JavaScript 객체의 Qt 대응 객체로 변환할 수 있습니다. 예를 들어, Url 객체는 QUrl 로 변환될 수 있습니다.
QJSManagedValue는 항상 특정 QJSEngine 에 바인딩됩니다. 이를 독립적으로 사용할 수는 없습니다. 즉, 한 엔진의 QJSManagedValue를 다른 엔진의 QJSManagedValue의 속성이나 프로토타입으로 사용할 수 없습니다.
QJSValue 와 달리, QJSManagedValue가 보유하는 거의 모든 값은 자바스크립트 힙에 존재합니다. 인라인 또는 비관리형 저장소는 없습니다. 따라서 원시 값의 프로토타입을 가져올 수 있으며, 문자열의 ` length ` 속성도 가져올 수 있습니다.
기본 생성되거나 다른 곳에서 이동된 QJSManagedValue만이 JavaScript 힙에 값을 보유하지 않습니다. 이들은 속성이나 프로토타입이 없는 ` undefined`를 나타냅니다.
또한 ` QJSValue`과 달리, `QJSManagedValue`는 어떤 자바스크립트 예외도 포착하지 않습니다. `QJSManagedValue`에 대한 연산으로 인해 오류가 발생하면, 일반적으로 ` undefined ` 값을 반환하며, 이후 ` QJSEngine::hasError()`은 ` true `를 반환합니다. 이때 사용자의 판단에 따라 ` QJSEngine::catchError()`을 사용하여 예외를 포착하거나 스택 위로 전달할 수 있습니다.
참고: JavaScript 힙에 있는 값에 대한 참조는 소멸 시 해제되어야하므로 , QJSManagedValue를 다른 스레드로 이동할 수 없습니다. 파괴 작업은 새로운 스레드에서 이루어지게 되며, 이로 인해 원래 스레드의 가비지 컬렉터와 경합 조건이 발생하게 됩니다. 이는 또한 QJSManagedValue를 해당 엔진의 수명보다 더 오래 보유할 수 없음을 의미합니다.
QJSManagedValue를 다루는 권장 방법은 스택에서 생성한 다음( QJSValue 를 이동하고 엔진을 추가하는 방식 등), 필요한 작업을 수행한 후, 마지막으로 저장을 위해 QJSValue 로 다시 이동하는 것입니다. QJSManagedValue와 QJSValue 간의 이동은 빠르게 이루어집니다.
멤버 유형 문서
enum QJSManagedValue::Type
이 열거형은 ECMA-262에 명시된 대로 자바스크립트 네이티브 유형을 나타냅니다.
| 상수 | 값 | 설명 |
|---|---|---|
QJSManagedValue::Undefined | 0 | undefined 유형 |
QJSManagedValue::Boolean | 1 | boolean 유형 |
QJSManagedValue::Number | 2 | number 유형 |
QJSManagedValue::String | 3 | string 유형 |
QJSManagedValue::Object | 4 | object 유형 |
QJSManagedValue::Symbol | 5 | symbol 유형 |
QJSManagedValue::Function | 6 | function 유형 |
null 값은 그 자체로 하나의 타입이 아니라 특수한 종류의 객체라는 점에 유의하십시오. QJSManagedValue 에 대해 isNull() 메서드를 사용하여 이 조건을 조회할 수 있습니다. 또한, JavaScript에는 정수 타입이 없지만, 정수 전용 연산을 수행할 수 있도록 숫자에 대한 특수한 처리를 지원합니다. isInteger() 메서드를 사용하여 QJSManagedValue 가 이러한 처리를 거친 결과를 포함하고 있는지 확인할 수 있습니다.
멤버 함수 문서
[constexpr noexcept default] QJSManagedValue::QJSManagedValue()
JavaScript ` undefined ` 값을 나타내는 `QJSManagedValue`를 생성합니다. 이 값은 JavaScript 힙에 저장되지 않는 유일한 값입니다. 기본 생성된 `QJSManagedValue`에 대해 ` engine()`를 호출하면 `nullptr`이 반환됩니다.
QJSManagedValue::QJSManagedValue(QJSValue value, QJSEngine *engine)
engine 의 힙을 사용하여 value 로부터 QJSManagedValue를 생성합니다. 만약 value 자체가 관리되는 객체이고, 해당 객체가 속한 엔진이 engine 가 아닌 경우, 결과값은 undefined 가 되며 경고가 발생합니다.
QJSManagedValue::QJSManagedValue(const QJSPrimitiveValue &value, QJSEngine *engine)
engine 의 힙을 사용하여 value 에서 QJSManagedValue를 생성합니다.
QJSManagedValue::QJSManagedValue(const QString &string, QJSEngine *engine)
engine 의 힙을 사용하여 string 로부터 QJSManagedValue를 생성합니다.
QJSManagedValue::QJSManagedValue(const QVariant &variant, QJSEngine *engine)
engine 의 힙을 사용하여 variant 로부터 QJSManagedValue를 생성합니다.
QJSManagedValue::QJSManagedValue(QJSManagedValue &&other)
other 에서 QJSManagedValue를 Move 방식으로 생성합니다. 이로 인해 other 는 undefined를 나타내며 어떤 엔진에도 속하지 않는 기본 생성 상태로 남게 됩니다.
[noexcept] QJSManagedValue::~QJSManagedValue()
QJSManagedValue 를 소멸시킵니다.
참고: 이 작업은 JavaScript 힙에서 해당 객체가 차지하고 있는 메모리 슬롯을 해제합니다. 해당 객체가 속한 ` QJSEngine `이 실행 중인 스레드와 다른 스레드에서 ` QJSManagedValue `을 소멸시켜서는 안 됩니다.
QJSValue QJSManagedValue::call(const QJSValueList &arguments = {}) const
이 QJSManagedValue 가 JavaScript FunctionObject를 나타내는 경우, 주어진 arguments 를 사용하여 이를 호출하고 그 결과를 반환합니다. 그렇지 않은 경우 JavaScript undefined 값을 반환합니다.
arguments 는 원시 값이거나, 이 QJSManagedValue 와 동일한 QJSEngine 에 속해야 합니다. 그렇지 않은 경우 호출이 수행되지 않고 JavaScript undefined 값이 반환됩니다.
QJSValue QJSManagedValue::callAsConstructor(const QJSValueList &arguments = {}) const
이 QJSManagedValue 가 JavaScript FunctionObject를 나타내는 경우, 주어진 arguments 를 사용하여 이를 생성자로 호출한 뒤 그 결과를 반환합니다. 그렇지 않은 경우 JavaScript undefined 값을 반환합니다.
arguments 는 원시 값이거나, this QJSManagedValue 와 동일한 QJSEngine 에 속해야 합니다. 그렇지 않은 경우 호출이 수행되지 않고 JavaScript undefined 값이 반환됩니다.
QJSValue QJSManagedValue::callWithInstance(const QJSValue &instance, const QJSValueList &arguments = {}) const
이 ` QJSManagedValue `가 JavaScript FunctionObject를 나타내는 경우, 주어진 ` arguments`를 인수로 사용하여 ` instance `에서 이를 호출하고 그 결과를 반환합니다. 그렇지 않은 경우 JavaScript ` undefined ` 값을 반환합니다.
arguments 와 instance 는 기본형 값이어야 하거나, 이 QJSManagedValue 와 동일한 QJSEngine 에 속해야 합니다. 그렇지 않은 경우 호출이 수행되지 않고 JavaScript undefined 값이 반환됩니다.
bool QJSManagedValue::deleteProperty(const QString &name)
이 ` QJSManagedValue`에서 ` name ` 속성을 삭제합니다. 삭제가 성공하면 ` true `을 반환하고, 그렇지 않으면 ` false `을 반환합니다.
bool QJSManagedValue::deleteProperty(quint32 arrayIndex)
이 QJSManagedValue 에서 arrayIndex 에 저장된 값을 삭제합니다. 삭제가 성공하면 true 를 반환하고, 그렇지 않으면 false 를 반환합니다.
QJSEngine *QJSManagedValue::engine() const
이 QJSManagedValue 가 속한 QJSEngine 을 반환합니다. QJSManagedValue 가 기본 생성되거나 이동된 경우가 아니라면, 엔진은 항상 유효하다는 점에 유의하십시오. 후자의 경우 nullptr이 반환됩니다.
bool QJSManagedValue::equals(const QJSManagedValue &other) const
이 QJSManagedValue 및 other 에 대해 JavaScript의 '==' 연산자를 호출하고, 그 결과를 반환합니다.
strictlyEquals도 참조하십시오 .
bool QJSManagedValue::hasOwnProperty(const QString &name) const
이 QJSManagedValue 객체에 name 속성이 있으면 true 를 반환하고, 그렇지 않으면 false 를 반환합니다. 프로토타입 체인의 속성은 고려되지 않습니다.
bool QJSManagedValue::hasOwnProperty(quint32 arrayIndex) const
이 QJSManagedValue 객체에 arrayIndex 배열 인덱스가 있으면 true 를 반환하고, 그렇지 않으면 false 를 반환합니다. 프로토타입 체인의 속성은 고려되지 않습니다.
bool QJSManagedValue::hasProperty(const QString &name) const
이 QJSManagedValue 객체에 name 속성이 있으면 true 를 반환하고, 그렇지 않으면 false 를 반환합니다. 이 때 프로토타입 체인의 속성도 고려됩니다.
bool QJSManagedValue::hasProperty(quint32 arrayIndex) const
이 QJSManagedValue 객체에 arrayIndex 인덱스의 배열이 있으면 true 를 반환하고, 그렇지 않으면 false 를 반환합니다. 이때 프로토타입 체인의 속성도 고려됩니다.
bool QJSManagedValue::isArray() const
이 값이 JavaScript Array 객체를 나타내는 경우 ` true `을 반환하고, 그렇지 않은 경우 ` false `을 반환합니다.
bool QJSManagedValue::isBoolean() const
이 ` QJSManagedValue `의 유형이 ` boolean`인 경우 ` true `을 반환하고, 그렇지 않은 경우 ` false `을 반환합니다.
bool QJSManagedValue::isDate() const
이 값이 자바스크립트 Date 객체를 나타내는 경우 ` true `를 반환하고, 그렇지 않은 경우 ` false `를 반환합니다.
bool QJSManagedValue::isError() const
이 값이 JavaScript Error 객체를 나타내는 경우 ` true `을 반환하고, 그렇지 않은 경우 ` false `을 반환합니다.
bool QJSManagedValue::isFunction() const
이 ` QJSManagedValue `의 유형이 ` function`인 경우 ` true `를 반환하고, 그렇지 않은 경우 ` false `를 반환합니다.
bool QJSManagedValue::isInteger() const
이 ` QJSManagedValue `에 정수 값이 저장되어 있으면 ` true `를 반환하고, 그렇지 않으면 ` false `를 반환합니다. 숫자의 저장 형식은 해당 숫자에 대해 수행되는 연산의 결과에는 영향을 미치지 않지만, 정수로 저장된 경우 많은 연산이 더 빠르게 수행됩니다.
bool QJSManagedValue::isNull() const
이 ` QJSManagedValue `에 JavaScript의 ` null ` 값이 포함되어 있으면 ` true `을 반환하고, 그렇지 않으면 ` false `을 반환합니다.
bool QJSManagedValue::isNumber() const
이 ` QJSManagedValue `의 유형이 ` number`인 경우 ` true `를 반환하고, 그렇지 않은 경우 ` false `를 반환합니다.
bool QJSManagedValue::isObject() const
이 ` QJSManagedValue `의 유형이 ` object`인 경우 ` true `을 반환하고, 그렇지 않은 경우 ` false `을 반환합니다.
bool QJSManagedValue::isQMetaObject() const
이 값이 자바스크립트 힙에서 관리되는 ` QMetaObject ` 포인터를 나타내는 경우 ` true `을 반환하고, 그렇지 않은 경우에는 ` false `을 반환합니다.
bool QJSManagedValue::isQObject() const
이 값이 JavaScript 힙에서 관리되는 ` QObject ` 포인터를 나타내는 경우 ` true `을 반환하고, 그렇지 않은 경우 ` false `을 반환합니다.
bool QJSManagedValue::isRegularExpression() const
이 값이 자바스크립트 정규식 객체를 나타내는 경우 ` true `을 반환하고, 그렇지 않은 경우 ` false `을 반환합니다.
bool QJSManagedValue::isString() const
이 ` QJSManagedValue `의 유형이 ` string`인 경우 ` true `을 반환하고, 그렇지 않은 경우 ` false `을 반환합니다.
bool QJSManagedValue::isSymbol() const
이 ` QJSManagedValue `의 유형이 ` symbol`인 경우 ` true `을 반환하고, 그렇지 않은 경우 ` false `을 반환합니다.
bool QJSManagedValue::isUndefined() const
이 ` QJSManagedValue `의 유형이 ` undefined`인 경우 ` true `을 반환하고, 그렇지 않은 경우 ` false `을 반환합니다.
bool QJSManagedValue::isUrl() const
이 값이 JavaScript Url 객체를 나타내는 경우 ` true `을 반환하고, 그렇지 않은 경우 ` false `을 반환합니다.
bool QJSManagedValue::isVariant() const
이 값이 JavaScript 힙에서 관리되는 QVariant 를 나타내는 경우 true 를 반환하고, 그렇지 않은 경우 false 를 반환합니다.
QJSValue QJSManagedValue::property(const QString &name) const
이 ` QJSManagedValue` 객체의 ` name ` 속성을 반환합니다. 실제 객체에서 해당 속성을 찾을 수 없는 경우 프로토타입 체인을 검색합니다.
setProperty()도 참조하십시오 .
QJSValue QJSManagedValue::property(quint32 arrayIndex) const
이 ` QJSManagedValue`의 ` arrayIndex `에 저장된 속성을 반환합니다. 실제 객체에서 해당 속성을 찾을 수 없는 경우 프로토타입 체인을 검색합니다.
QJSManagedValue QJSManagedValue::prototype() const
이 ` QJSManagedValue`의 프로토타입을 반환합니다. 이 기능은 어떤 값에 대해서도 작동합니다. 예를 들어, ` boolean ` 값에서 JavaScript ` boolean ` 프로토타입을 가져올 수 있습니다.
setPrototype()도 참조하십시오 .
void QJSManagedValue::setProperty(const QString &name, const QJSValue &value)
이 QJSManagedValue 객체의 name 속성을 value 로 설정합니다. 이 작업은 object 유형의 JavaScript 값에 대해서만 수행할 수 있습니다. 또한, value 는 기본형(primitive)이거나 이 값과 동일한 엔진에 속해야 합니다.
property()도 참조하십시오 .
void QJSManagedValue::setProperty(quint32 arrayIndex, const QJSValue &value)
value 를 arrayIndex 에 있는 이 QJSManagedValue 에 저장합니다. 이 작업은 object 유형의 JavaScript 값에 대해서만 수행할 수 있으며, 값이 배열이 아닌 경우에는 권장되지 않습니다. 또한, value 는 원시형이어야 하거나 이 값과 동일한 엔진에 속해야 합니다.
void QJSManagedValue::setPrototype(const QJSManagedValue &prototype)
이 ` QJSManagedValue `의 프로토타입을 ` prototype`로 설정합니다. 전제 조건은 ` prototype `가 이 ` QJSManagedValue `와 동일한 ` QJSEngine `에 속하며 객체(null 포함)여야 한다는 것입니다. 또한, 이 ` QJSManagedValue ` 역시 객체(null 제외)여야 하며, 프로토타입 순환을 생성해서는 안 됩니다.
prototype()도 참조하십시오 .
bool QJSManagedValue::strictlyEquals(const QJSManagedValue &other) const
이 QJSManagedValue 및 other 에 대해 JavaScript의 '===' 연산자를 호출하고, 그 결과를 반환합니다.
equals도 참조하십시오 .
bool QJSManagedValue::toBoolean() const
관리되는 값을 부울 값으로 변환합니다. 관리되는 값이 부울 값을 포함하고 있다면 해당 값이 반환됩니다. 그렇지 않은 경우, 자바스크립트 규칙에 따라 부울 강제 변환이 수행됩니다.
QDateTime QJSManagedValue::toDateTime() const
이 QJSManagedValue 객체가 JavaScript Date 객체를 포함하고 있다면, 이에 상응하는 QDateTime 객체를 반환합니다. 그렇지 않은 경우 유효하지 않은 객체를 반환합니다.
int QJSManagedValue::toInteger() const
관리되는 값을 정수로 변환합니다. 먼저 ` toNumber()`의 규칙에 따라 값을 숫자로 변환한 다음, JavaScript 비트 시프트 연산자의 인수를 32비트 정수로 강제 변환하는 규칙에 따라 해당 값을 정수 범위로 제한합니다.
내부적으로 해당 값이 이미 정수로 저장되어 있는 경우, 빠른 경로를 따릅니다.
참고: 관리되는 값을 숫자로변환할 때 예외가 발생할 수 있습니다. 특히, 심볼은 숫자로 강제 변환할 수 없으며, 사용자 정의 valueOf() 메서드가 예외를 발생시킬 수 있습니다. 이 경우 결과는 0이 되며, 엔진은 변환 후 오류를 유지합니다.
참고: 숫자를 32비트 정수로 변환하는 자바스크립트규칙은 직관적이지 않습니다.
QJSValue QJSManagedValue::toJSValue() const
QJSManagedValue 를 새로운 QJSValue 로 복사합니다. 이는 QJSManagedValue 에서 QJSValue 를 이동 생성(move-constructing)하는 것보다 효율적이지는 않지만, QJSManagedValue 는 유지합니다.
double QJSManagedValue::toNumber() const
관리되는 값을 숫자로 변환합니다. 관리되는 값이 숫자를 포함하고 있다면 해당 숫자가 반환됩니다. 그렇지 않은 경우, 자바스크립트 규칙에 따라 숫자 강제 변환이 수행됩니다.
참고: 관리되는 값을 숫자로변환하는 과정에서 예외가 발생할 수 있습니다. 특히, 심볼은 숫자로 강제 변환될 수 없으며, 사용자 정의 valueOf() 메서드를 호출할 경우 예외가 발생할 수 있습니다. 이 경우 결과는 0이 되며, 엔진은 변환 후 오류를 유지합니다.
QJSPrimitiveValue QJSManagedValue::toPrimitive() const
관리되는 값을 ` QJSPrimitiveValue`로 변환합니다. 관리되는 값이 ` QJSPrimitiveValue`에서 지원하는 유형인 경우, 해당 값이 복사됩니다. 그렇지 않은 경우 값이 문자열로 변환되고, 해당 문자열이 ` QJSPrimitiveValue`에 저장됩니다.
참고: 관리되는 값을 문자열로변환하는 과정에서 예외가 발생할 수 있습니다. 특히, 심볼은 문자열로 강제 변환할 수 없으며, 사용자 정의 toString() 메서드에서 예외가 발생할 수도 있습니다. 이 경우 결과는 정의되지 않은 값이 되며, 엔진은 변환 후 오류를 발생시킵니다.
const QMetaObject *QJSManagedValue::toQMetaObject() const
이 QJSManagedValue 가 QMetaObject 포인터를 포함하고 있다면, 해당 포인터를 반환합니다. 그렇지 않으면 nullptr을 반환합니다.
QObject *QJSManagedValue::toQObject() const
이 QJSManagedValue 가 QObject 포인터를 포함하고 있다면, 해당 포인터를 반환합니다. 그렇지 않으면 nullptr을 반환합니다.
QRegularExpression QJSManagedValue::toRegularExpression() const
이 QJSManagedValue 가 JavaScript 정규식 객체를 포함하고 있는 경우, 이에 상응하는 QRegularExpression 를 반환합니다. 그렇지 않은 경우 유효하지 않은 객체를 반환합니다.
QString QJSManagedValue::toString() const
관리되는 값을 문자열로 변환합니다. 관리되는 값이 문자열인 경우 해당 문자열이 반환됩니다. 그렇지 않은 경우 자바스크립트 규칙에 따라 문자열 강제 변환이 수행됩니다.
참고: 관리되는 값을 문자열로변환하는 과정에서 예외가 발생할 수 있습니다. 특히, 심볼은 문자열로 강제 변환할 수 없으며, 사용자 정의 toString() 메서드를 사용할 경우 예외가 발생할 수 있습니다. 이 경우 결과는 빈 문자열이 되며, 변환 후 엔진에서 오류가 발생합니다.
QUrl QJSManagedValue::toUrl() const
이 QJSManagedValue 가 JavaScript Url 객체를 포함하고 있다면, 이에 상응하는 QUrl 를 반환합니다. 그렇지 않은 경우 유효하지 않은 객체를 반환합니다.
QVariant QJSManagedValue::toVariant() const
QJSManagedValue 를 새로운 QVariant 로 복사합니다. 또한 QJSManagedValue::isVariant()가 false를 반환할 경우 유용한 QVariant 도 생성됩니다. QVariant 는 QJSManagedValue 에서 지원하는 모든 유형을 포함할 수 있습니다.
QJSManagedValue::Type QJSManagedValue::type() const
이 ` QJSManagedValue`의 JavaScript 유형을 반환합니다.
QJSManagedValue &QJSManagedValue::operator=(QJSManagedValue &&other)
other 에서 QJSManagedValue 를 이동 할당합니다. 이로 인해 other 는 undefined를 나타내며 어떤 엔진에도 속하지 않는 기본 생성 상태로 남게 됩니다.
참고: 이렇게 하면 ` QJSManagedValue `가 JavaScript 힙에서 차지하고 있던 메모리 슬롯이 해제됩니다. ` QJSEngine `가 속한 스레드와 다른 스레드에서 ` QJSManagedValue `를 이동 할당해서는 안 됩니다.
© 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.