WebAssembly.Exception.prototype.is()

Baseline 已广泛支持

此功能已成熟,并可在许多设备和浏览器版本上使用。自 2022 年 5 月以来,它已在各个浏览器中可用。

is() 构造函数方法可用于测试一个 Exception 对象是否与给定的标签匹配。

在将参数传递给 Exception.prototype.getArg() 以获取传入的值之前,可以使用此方法来测试标签是否正确。该方法可用于在 JavaScript 中创建的标签,也可用于在 WebAssembly 代码中创建并导出到 JavaScript 的标签。

注意: 仅拥有相同数据类型序列的标签是不够的——它必须具有与创建异常时所使用的标签相同的身份(即相同的标签)。

语法

js
is(tag)

参数

tag

一个 WebAssembly.Tag,可用于验证异常的类型。

返回值

如果指定的标签与异常匹配,则返回布尔值 true,否则返回 false

示例

下面的代码展示了如何使用 is() 来验证一个标签是否与 Exception 匹配。

js
// Create tag and use it to create an exception
const tag1 = new WebAssembly.Tag({ parameters: ["i32", "f64"] });
const exception1 = new WebAssembly.Exception(tag1, [42, 42.3]);

// Verify that "tag1" matches this exception
console.log(`Tag1: ${exception1.is(tag1)}`);

// Log output:
// Tag1: true

我们还可以证明,即使另一个标签是用相同的参数创建的,该异常也不会与其匹配。

js
// Create a new tag (with same parameters) and verify it does not match the exception
const tag2 = new WebAssembly.Tag({ parameters: ["i32", "f64"] });
console.log(`Tag2: ${exception1.is(tag2)}`);

// Log output:
// Tag2: false

规范

规范
WebAssembly JavaScript 接口:异常处理
# dom-exception-is

浏览器兼容性

另见