ExternalDartReference 扩展类型

指向可传递给 JavaScript 的 Dart 对象的不可见引用。

引用表示形式取决于底层平台。当编译到 JavaScript 时,Dart 对象是 JavaScript 对象,可以直接使用而无需任何转换。当编译到 Wasm 时,使用内部 Wasm 函数将 Dart 对象转换为不可见的 JavaScript 值,稍后可以使用另一个内部函数将其转换回来。

此接口通过不使用 JavaScript 对象包装 Dart 对象,充当阿里JSBoxedDartObject 扩展类型(JSBoxedDartObject)的更快替代方案。然而,与JSBoxedDartObject不同,此值属于 Dart 运行时,因此不能作为 JS 类型使用。这意味着用户无法将此作为表示类型声明 interop 类型,也无法在此类型上声明 interop 成员。此类型也不是JSAny的子类型。此类型只能用作外部JavaScript interop成员或回调的参数和返回类型。使用JSBoxedDartObject以避免这些限制。

除了这些差异之外,ExternalDartReference在与JSBoxedDartObject功能上几乎相同。使用它通过 JavaScript 在同一运行时内部传递 Dart 对象。结果没有可用的成员在ExternalDartReference中。

ObjectToExternalDartReference.toExternalReference以允许将任意Object传递给 JavaScript。

  • ExternalDartReferenceRepType
实现类型

属性

hashCode int
此对象的哈希码。
无设置器继承
runtimeType Type
对象运行时类型的表示。
无设置器继承

方法

noSuchMethod(Invocation invocation) → dynamic
当访问不存在的方法或属性时调用。
继承
toString() String
此对象的字符串表示。
继承

运算符

operator ==(Object other) bool
相等运算符。
继承