在打字稿中,有没有办法检查wasm中已由打字稿加载的值的类型,例如:i32?
Posted
技术标签:
【中文标题】在打字稿中,有没有办法检查wasm中已由打字稿加载的值的类型,例如:i32?【英文标题】:In typescirpt,Is there a way to check the type of a value in wasm which has been loaded by typescirpt, example:i32? 【发布时间】:2020-02-02 01:04:37 【问题描述】:在 WebAssembly 中,我们有 i32 一个 32 位有符号整数,如果我们加载这个 wasm,那么我们可以检查 i32 的类型吗?如果不能通过 javascirpt/typescirpt 检查 i32,是否有另一种方法来检查 wasm 的值?
所以我尝试构建wasm,typeof返回一个“数字”
enter image description here
main.js
WebAssembly.instantiateStreaming(fetch("../out/main.wasm"),
main:
sayHello()
console.log("Hello from WebAssembly!");
,
env:
abort(_msg, _file, line, column)
console.error("abort called at main.ts:" + line + ":" + column);
,
).then(result =>
const exports = result.instance.exports;
const addResult = exports.add(19, 23);
document.getElementById("container").textContent = "Result: " + exports.add(19, 23) + "Type:" + (typeof addResult);
).catch(console.error);
那么,还有其他方法可以检查 wasm 的值吗?
【问题讨论】:
【参考方案1】:你可以使用typeof
运算符
typeof
运算符返回其操作数的数据类型,操作数可以是任何对象、函数或变量。
例如:
输入:typeof "raman"
输出字符串
【讨论】:
谢谢。我把这个问题发到github.com/AssemblyScript/assemblyscript/issues/888 export function getTypeOf():string let x:i32 = 12;返回 x 的类型;这段代码在汇编脚本中不返回“i32”而是“number”。以上是关于在打字稿中,有没有办法检查wasm中已由打字稿加载的值的类型,例如:i32?的主要内容,如果未能解决你的问题,请参考以下文章