Почему Mozilla имеет документацию по JavaScript, написанную на IDL

Читая документацию о fileReader, узнайте, что они пишут методы, используя оператор void, например:

void readAsArrayBuffer (
        in Blob blob
);

просто пытаюсь понять, почему они так пишут? Есть ли практическое использование этого синтаксиса?

Позже это оказывается вовсе не js, а IDL, который является языком описания интерфейсов.

К вашему сведению: перед тем, как задавать этот вопрос, я делаю Google и читаю о действительном void-операторе в JS. Поэтому, пожалуйста, нет необходимости возвращать меня обратно. Вопрос немного размытый, но он имеет дело с тем, почему Mozilla имеет документацию по JavaScript, написанную так? В IDL, который имеет мало с реальным JavaScript?

1 ответ

Решение

Mozilla использует IDL двумя способами

  • Web IDL: используется в спецификациях W3C и для описания API-интерфейсов Javascript. Это нормативные спецификации.

  • Внутренний диалект IDC в ​​XPCOM: нативные API Javascript реализованы на C++. В случае Gecko (движка Firefox), в частности, в предметно-ориентированной среде, называемой XPCOM

Как указывает связанная страница, Gecko внутренне описывает интерфейсы на диалекте IDL, не зависящем от языка, потому что эти интерфейсы должны быть реализованы как в собственном времени выполнения (C++), так и в движке Javascript (Javascript).

В этом случае описание IDL является либо копированием-вставкой из оригинальной спецификации Web IDL, либо из внутренней реализации Gecko.

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