HCL Domino V10/V11/V12的ECMAScript版本及SSJS class关键字支持问题
HCL Domino SSJS 对应ECMAScript版本及ES6 class支持问题解答
1. V10/V11/V12对应ECMAScript标准版本
- HCL Domino V10、V11的服务端JavaScript(SSJS)底层基于Mozilla Rhino 1.7R3引擎实现,对应*ECMA-262 第5版(ES5,2009年发布)*标准,官方文档未标注年份是因为该版本为这几个大版本长期稳定适配的基准版本。
- HCL Domino V12底层Rhino引擎升级至1.7.14版本,默认仍保持ES5兼容模式,同时支持部分ES6特性的可选启用。
2. ES6 class关键字支持版本
原生SSJS完整支持ECMA-262 2015(ES6)新增的class关键字,是从HCL Domino V14版本开始正式提供的,V12及更早版本均无原生支持。
3. Domino V11使用class关键字的相关说明
Domino Designer V11原生不识别class语法,无任何额外配置可以让其支持直接在SSJS库中使用该关键字,强制写入class相关代码会在保存或运行时直接抛出语法错误。
如果需要在V11环境下实现类的能力,可以用ES5标准的构造函数+原型链方案替代,示例代码如下:
// 模拟类的构造函数 function User(account, nickName) { this.account = account; this.nickName = nickName; } // 挂载公共方法 User.prototype.getInfo = function() { return "账号:" + this.account + ",昵称:" + this.nickName; } // 调用示例 var user1 = new User("test001", "测试用户"); print(user1.getInfo());
内容的提问来源于stack exchange,提问作者user3905270
相关产品推荐
相关产品推荐

