jurassic
v3.0
Jurassic 是 ECMAScript 语言和运行时的实现。它旨在为 .NET 提供性能最佳且最符合标准的 JavaScript 实现。 Jurassic 不适合最终用户;相反,它旨在集成到 .NET 程序中。如果您是 .NET 程序的作者,则可以使用 Jurassic 来编译和执行 JavaScript 代码。
安装 NuGet 包。
有关完整的使用详细信息,请参阅 wiki。
对 ECMAScript 6 的支持正在进行中。有关每个功能的定义,请参阅 http://kangax.github.io/compat-table/es6/。下表从版本 3.1 开始是正确的。
特征 | 地位 |
---|---|
优化 | |
适当的尾部调用(尾部调用优化) | |
句法 | |
默认函数参数 | 4/7 |
其余参数 | |
可迭代对象的扩展语法 | |
对象字面量扩展 | ✅ 6/6 |
for..of 循环 | 6/9 |
八进制和二进制文字 | ✅ 4/4 |
模板文字 | 6/7 |
正则表达式“y”和“u”标志 | |
解构、声明 | |
解构、赋值 | |
解构、参数 | |
Unicode 代码点转义 | ✅ 4/4 |
新目标 | ✅2/2 |
绑定 | |
常量 | ✅ 18/18 |
让 | 14/16 |
块级函数声明[18] | |
功能 | |
箭头函数 | |
班级 | ✅24/24 |
极好的 | ✅8/8 |
发电机 | |
内置 | |
类型数组 | 45/46 |
地图 | 18/19 |
放 | 18/19 |
弱映射 | 11/12 |
弱集 | 10/11 |
代理[25] | 33/34 |
反映[26] | 18/20 |
承诺 | 4/8 |
象征 | ✅ 12/12 |
著名符号[27] | 23/26 |
内置扩展 | |
对象静态方法 | ✅ 4/4 |
函数“名称”属性 | 10/17 |
字符串静态方法 | ✅2/2 |
String.prototype 方法 | ✅ 10/10 |
RegExp.prototype 属性 | ✅ 6/6 |
数组静态方法 | 8/11 |
Array.prototype 方法 | ✅ 10/10 |
数字属性 | ✅9/9 |
数学方法 | ✅ 17/17 |
日期.原型[Symbol.toPrimitive] | ✅ 1/1 |
子类化 | |
数组是可子类化的 | 9/11 |
RegExp 是可子类化的 | ✅ 4/4 |
函数是可子类化的 | 4/6 |
Promise 是可子类化的 | |
杂项子类 | |
杂项 | |
绑定函数的原型 | 1/5 |
代理,内部“获取”调用 | 19/36 |
代理、内部“设置”调用 | 7/11 |
代理,内部“defineProperty”调用 | |
代理,内部“deleteProperty”调用 | |
代理,内部“getOwnPropertyDescriptor”调用 | 2/4 |
代理,内部“ownKeys”调用 | ✅3/3 |
对象静态方法接受基元 | ✅ 10/10 |
自有财产令 | 5/7 |
更新了标识符语法 | 1/3 |
各种各样的 | 8/9 |
附件b | |
非严格函数语义[35] | 2/3 |
对象字面量中的 __proto__ [36] | |
对象.prototype.__proto__ | 1/6 |
String.prototype HTML 方法 | ✅3/3 |
RegExp.prototype.compile | 1/2 |
正则表达式语法扩展 | 4/8 |
HTML 风格的评论 |