goja 是一个 Go实现的 ECMAScript5.1(+)。
它不是V8或SpiderMonkey或任何其他通用JavaScript引擎的替代品,因为它更慢。它可以作为一种嵌入式脚本语言使用,或者可以作为避免非Go相关性的一种方式。
灵感来源于 otto 。
特性完全支持ECMAScript5.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)}
评论