WebAssembly.Exception.prototype.is()

is()Exception 对象的原型方法,可用于测试 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

浏览器兼容性

BCD 表仅在启用 JavaScript 的浏览器中加载。

另请参阅