gojaES51 Go 实现的 ECMAScript 5.1(+) 项目简介
goja 是一个 Go 实现的 ECMAScript 5.1(+)。它不是 V8 或 SpiderMonkey 或任何其他通用 JavaScript 引擎的替代品,因为它更慢。它可以作为一种嵌入式脚本语言使用,或者可以作为避免非 Go 相关性的一种方式。灵感来源于 otto 。特性完全支持 ECMAScript 5.1通过几乎所有用 es5id 标记的 tc39 测试平均比 otto 快6-7倍,同时使用相当少的内存基本示例vm := goja.New()
v, err := vm.RunString("2 + 2")
if err != nil {
panic(err)
}
if num := v.Export().(int64); num != 4 {
panic(num)
}
v, err := vm.RunString("2 + 2")
if err != nil {
panic(err)
}
if num := v.Export().(int64); num != 4 {
panic(num)
}