njs 0.6.0 发布,nginx 的 JavaScript 脚本语言
njs 0.6.0 已发布,njs 以 nginx 插件的方式存在,它是 JavaScript/ECMAscript 的子集,实现了大部分的 JavaScript 语言功能,没有完全遵从 ECMAScript 标准,同时抛弃了 JavaScript 比较难懂的部分。njs 不通过 V8 引擎实现,而是通过一个更小、能耗更低、更符合 nginx 应用场景的小虚拟机实现,可以理解为 nginx 为其实现了一套自己的词法解析。
作为 nginx 的插件,njs 的安装方式是重新编译 nginx。
主要更新内容
- 添加了 let 和 const 声明支持
- 添加 RegExp.prototype[Symbol.split]
- 添加了对 RegExp 的粘性标志支持
- 修复了 String.prototype.lastIndexOf() 中的堆缓冲区溢出
- 根据规范修复 RegExp.prototype.test()
- 根据规范修复 String.prototype.split()
- 在跟踪被拒绝的 promise 时修复了未初始化值的使用
- 修复了具有循环引用对象的 njs.dump()
详情请查看更新公告。