【问题标题】:How to evaluate js values using < > operators from wasm?如何使用 wasm 中的 < > 运算符评估 js 值?
【发布时间】:2020-10-24 15:49:29
【问题描述】:

Go 有一个 equal 方法来测试 JS 值之间的相等性。我们如何使用更大(或更少)的运算符来评估 js 值?我是否需要为此在js中编写一个javascript函数(即function GT(a, b, op){return eval(a, op, b)})?

var a, b js.Value 

// test if a > b or b > a 

【问题讨论】:

    标签: go webassembly


    【解决方案1】:

    Value.Equal 方法用于测试两个 js.Value 对象是否相等(与 javascript === 运算符相同)。

    仅限于数字类型。

    相反,要执行比较,您需要获取类型变量并比较它们。给定整数,您可以使用以下内容:

    var a, b js.Value
    // Get them from somewhere.
    
    aint, bint := a.Int(), b.Int()
    
    if a > b { ... }
    

    请检查Value.Int() 和其他人的文档,如果无法进行转换,他们会感到恐慌。首先使用Value.Type() 以确保您具有预期的类型。

    【讨论】:

    • 我想会是这样。类型切换然后拆箱并在 Go(wasm) 中执行操作似乎有点费力(api wise)和浪费(perf wise)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-23
    • 2014-11-17
    • 2011-07-03
    • 1970-01-01
    • 2012-03-07
    相关资源
    最近更新 更多