Как сделать monkeypatch типизированных массивов в ECMAScript 3 JavaScript, в частности Uint8Array? (Необходимость IDE в Adobe ESTK)

Я работаю над Adobe ExtendScript (.jsx), который в основном является подмножеством старого стандарта JavaScript ECMAScript 3.

Чтобы использовать разработанный с открытым исходным кодом код, написанный на JS ECMAScript 5+, мне нужно реализовать Typed Arrays (через Monkeypatching или другой метод), чтобы отличить Uint8Array от "обычных" Array.

1 ответ

Вы можете попробовать этот polyfill с ExtendScript. Это не работает прямо из коробки, хотя:

  • Вам нужно найти и заменить переменную final как считает ExtendScript, это зарезервированное ключевое слово. Просто добавьте подчеркивание (т.е. _final).
  • self приведенный в качестве аргумента к патчу должен быть заменен на this

Я провел очень ограниченный тест с этим полизаполнением в ExtendScript, но, кажется, он работает довольно хорошо для более простых вещей, даже с уменьшенной производительностью, которую вы в противном случае имели бы.

Это вернет истину для array instanceof Uint8Array (если конечно array был объявлен как один).

Другие вопросы по тегам