jurassic
v3.0
Jurassic — это реализация языка ECMAScript и среды выполнения. Его цель — обеспечить наиболее эффективную и наиболее соответствующую стандартам реализацию JavaScript для .NET. Jurassic не предназначен для конечных пользователей; вместо этого он предназначен для интеграции в программы .NET. Если вы являетесь автором программы .NET, вы можете использовать Jurassic для компиляции и выполнения кода JavaScript.
Установите пакет NuGet.
Подробную информацию об использовании смотрите в вики.
Поддержка ECMAScript 6 находится в разработке. См. http://kangax.github.io/compat-table/es6/ для определения каждой функции. Таблица ниже верна для версии 3.1.
Особенность | Статус |
---|---|
Оптимизация | |
правильные хвостовые вызовы (оптимизация хвостовых вызовов) | |
Синтаксис | |
параметры функции по умолчанию | 4/7 |
остальные параметры | |
синтаксис распространения для итерируемых объектов | |
расширения объектных литералов | ✅ 6/6 |
for..циклов | 6/9 |
восьмеричные и двоичные литералы | ✅ 4/4 |
литералы шаблона | 6/7 |
Флаги RegExp «y» и «u» | |
деструктуризация, декларации | |
деструктуризация, присваивание | |
деструктуризация, параметры | |
Кодовая точка Юникода экранируется | ✅ 4/4 |
новая.цель | ✅ 2/2 |
Привязки | |
константа | ✅ 18/18 |
позволять | 14/16 |
объявление функции на уровне блока[18] | |
Функции | |
стрелочные функции | |
сорт | ✅ 24/24 |
супер | ✅ 8/8 |
генераторы | |
Встроенные модули | |
типизированные массивы | 45/46 |
Карта | 18/19 |
Набор | 18/19 |
Слабая карта | 11/12 |
WeakSet | 10/11 |
Прокси [25] | 33/34 |
Отразить [26] | 18/20 |
Обещать | 4/8 |
Символ | ✅ 12/12 |
известные символы[27] | 23/26 |
Встроенные расширения | |
Статические методы объекта | ✅ 4/4 |
свойство "имя" функции | 17.10. |
Строковые статические методы | ✅ 2/2 |
Методы String.prototype | ✅ 10/10 |
Свойства RegExp.prototype | ✅ 6/6 |
Статические методы массива | 8/11 |
Методы Array.prototype | ✅ 10/10 |
Свойства числа | ✅ 9/9 |
Математические методы | ✅ 17/17 |
Date.prototype[Symbol.toPrimitive] | ✅ 1/1 |
Подклассы | |
Массив является подклассом | 11 сентября |
RegExp является подклассом | ✅ 4/4 |
Функция является подклассом | 4/6 |
Обещание можно подклассифицировать | |
разные подклассы | |
Разное | |
прототип связанных функций | 1/5 |
Прокси, внутренние вызовы «get» | 19/36 |
Прокси, внутренние «установленные» вызовы | 7/11 |
Прокси, внутренние вызовы defineProperty | |
Прокси, внутренние вызовы deleteProperty | |
Прокси, внутренние вызовы getOwnPropertyDescriptor | 2/4 |
Прокси, внутренние вызовы ownKeys | ✅ 3/3 |
Статические методы объекта принимают примитивы | ✅ 10/10 |
распоряжение о собственном имуществе | 5/7 |
Обновлен синтаксис идентификатора. | 1/3 |
разнообразный | 8/9 |
Приложение б | |
нестрогая семантика функций[35] | 2/3 |
__proto__ в объектных литералах [36] | |
Объект.prototype.__proto__ | 1/6 |
HTML-методы String.prototype | ✅ 3/3 |
RegExp.prototype.compile | 1/2 |
Расширения синтаксиса RegExp | 4/8 |
Комментарии в стиле HTML |