PySide6.QtQml.QJSPrimitiveValue

class QJSPrimitiveValue

QJSPrimitiveValue 类在 JavaScript 语义中操作原始类型。更多

概要

方法

注意

本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。

详细描述

QJSPrimitiveValue 支持 ECMA-262 标准中定义的大多数原始类型,特别是 Undefined、Boolean、Number 和 String。此外,您可以在 QJSPrimitiveValue 中存储 JavaScript 的 null,并且作为 Number 的特殊情况,您还可以存储整数值。

所有这些值都会立即存储,而不与JavaScript堆进行交互。因此,您可以在不同的JavaScript引擎之间传递QJSPrimitiveValues。与QJSManagedValue相比,从不同线程销毁QJSPrimitiveValue也没有危险。另一方面,QJSPrimitiveValue并不持有对任何JavaScript引擎的引用。

QJSPrimitiveValue 在支持的JavaScript语义类型上实现了JavaScript的算术和比较运算符。如果这些运算符写在JavaScript表达式中,类型会被强制转换,就像JavaScript引擎会做的那样。

JavaScript Symbol 类型不受支持,因为它在算术和比较运算符方面的实用性非常有限,这是 QJSPrimitiveValue 的主要目的。特别是,每当您尝试将其强制转换为数字或字符串时,它都会引发异常,而我们无法在没有 JavaScript 引擎的情况下抛出异常。

class Type

此枚举指定了QJSPrimitiveValue可能包含的类型。

常量

描述

QJSPrimitiveValue.Undefined

JavaScript 的未定义值。

QJSPrimitiveValue.Null

JavaScript 的 null 值。实际上,这并不是一个独立的 JavaScript 类型,而是 Object 类型的一个特殊值。由于它非常常见并且可以在没有 JavaScript 引擎的情况下存储,因此仍然支持它。

QJSPrimitiveValue.Boolean

一个JavaScript布尔值。

QJSPrimitiveValue.Integer

一个整数。这是 JavaScript Number 类型的一个特殊情况。JavaScript 没有实际的整数类型,但 ECMA-262 标准包含了一些规则,用于转换 Number 以便为某些仅对整数有意义的操作符(特别是位移操作符)做准备。QJSPrimitiveValue 的 Integer 类型表示这种转换的结果。

QJSPrimitiveValue.Double

一个JavaScript数值。

QJSPrimitiveValue.String

一个JavaScript字符串值。

__init__()

创建一个类型为Undefined的QJSPrimitiveValue

__init__(type)
Parameters:

类型QMetaType

__init__(string)
Parameters:

字符串 – str

创建一个值为 value 且类型为 String 的 QJSPrimitiveValue

__init__(value)
Parameters:

value – 布尔值

创建一个值为 value 且类型为 Boolean 的 QJSPrimitiveValue

__init__(variant)
Parameters:

variant – 对象

如果value的内容可以存储在QJSPrimtiveValue中,则从value的内容创建一个QJSPrimitiveValue。否则,这将导致一个类型为Undefined的QJSPrimitiveValue

__init__(value)
Parameters:

value – 浮点数

创建一个值为 value 且类型为 Double 的 QJSPrimitiveValue

__init__(value)
Parameters:

– int

创建一个值为 value 且类型为 Integer 的 QJSPrimitiveValue

__init__(type, value)
Parameters:

创建一个类型为typeQJSPrimitiveValue,如果type可以存储在QJSPrimitiveValue中,则用value初始化。在这种情况下,value不能为nullptr。如果type无法存储,则结果为类型为Undefined的QJSPrimitiveValue

请注意,您必须传递要存储的变量的地址。

通常,你不需要使用这个构造函数,而是使用接受 QVariant 的那个。

constData()
Return type:

void

data()
Return type:

void

equals(other)
Parameters:

其他QJSPrimitiveValue

Return type:

布尔

在此QJSPrimitiveValueother上执行JavaScript的‘==’操作,并返回结果。

metaType()
Return type:

QMetaType

返回存储在QJSPrimitiveValue中的值的QMetaType。

__ne__(rhs)
Parameters:

rhsQJSPrimitiveValue

Return type:

布尔

lhsrhs 上执行 JavaScript 的 ‘!==’ 操作,并返回结果。

__mod__(rhs)
Parameters:

rhsQJSPrimitiveValue

Return type:

QJSPrimitiveValue

__mul__(rhs)
Parameters:

rhsQJSPrimitiveValue

Return type:

QJSPrimitiveValue

lhsrhs 执行 JavaScript 的 '*' 操作,并返回结果。

__add__()
Return type:

QJSPrimitiveValue

__add__(rhs)
Parameters:

rhsQJSPrimitiveValue

Return type:

QJSPrimitiveValue

lhsrhs 执行 JavaScript 的 '+' 操作,并返回结果。

__iadd__()
Return type:

QJSPrimitiveValue

__iadd__(arg__1)
Parameters:

arg__1 – 整数

Return type:

QJSPrimitiveValue

__sub__()
Return type:

QJSPrimitiveValue

__sub__(rhs)
Parameters:

rhsQJSPrimitiveValue

Return type:

QJSPrimitiveValue

lhsrhs 执行 JavaScript 的 '-' 操作,并返回结果。

__isub__()
Return type:

QJSPrimitiveValue

__isub__(arg__1)
Parameters:

arg__1 – 整数

Return type:

QJSPrimitiveValue

__div__(rhs)
Parameters:

rhsQJSPrimitiveValue

Return type:

QJSPrimitiveValue

lhsrhs之间执行JavaScript的‘/’操作,并返回结果。

__lt__(rhs)
Parameters:

rhsQJSPrimitiveValue

Return type:

布尔

lhsrhs 执行 JavaScript 的 ‘<’ 操作,并返回结果。

__le__(rhs)
Parameters:

rhsQJSPrimitiveValue

Return type:

布尔

lhsrhs 上执行 JavaScript 的 ‘<=’ 操作,并返回结果。

__eq__(rhs)
Parameters:

rhsQJSPrimitiveValue

Return type:

布尔

lhsrhs 执行 JavaScript 的 ‘===’ 操作,并返回结果。

__gt__(rhs)
Parameters:

rhsQJSPrimitiveValue

Return type:

布尔

lhsrhs 上执行 JavaScript 的 ‘>’ 操作,并返回结果。

__ge__(rhs)
Parameters:

rhsQJSPrimitiveValue

Return type:

布尔

lhsrhs 上执行 JavaScript 的 ‘>=’ 操作,并返回结果。

strictlyEquals(other)
Parameters:

其他QJSPrimitiveValue

Return type:

布尔

在此QJSPrimitiveValueother上执行JavaScript的‘===’操作,并返回结果。

toBoolean()
Return type:

布尔

返回根据JavaScript规则强制转换为布尔值的值。

toDouble()
Return type:

浮点数

返回根据JavaScript规则强制转换为JavaScript Number的值。

toInteger()
Return type:

整数

返回根据JavaScript在准备进行位移操作时应用的规则强制转换为32位整数的值。

toString()
Return type:

字符串

返回根据JavaScript规则强制转换为JavaScript字符串的值。

toVariant()
Return type:

对象

type()
Return type:

类型

返回QJSPrimitiveValue的类型。