callback interface

callback interface

[2] コールバックインターフェイス (callback interface) は、コールバック関数と似ていますが、 定数を持つインターフェイスでもあるものです。

[3] 著者にとっては、コールバック関数と同じように JavaScript Functionコールバックインターフェイス型の値として使うことができます。 Webブラウザーにとっては、それに加えてインターフェイスオブジェクト定数スクリプトに提供する必要があります。

代替

[4] コールバックインターフェイスは旧時代の W3C DOM との互換性のために用意されているもので、 現在では新たに定義するべきではないと考えられています。

一覧

[1] コールバックインターフェイスには、次のものがあります。

[10] NodeFilter はいくつか定数を定義しています。 大域オブジェクト Window遺物コールバックインターフェイスオブジェクト晒されているので、 window.NodeFilter のようにアクセスできます。

[11] EventListenerXPathNSResolver定数がなく、何も晒されていません。 利用者オブジェクトとして使うことができるのみで、 プラットフォームオブジェクトとして観測可能なものはありません。

[15] XPathNSResolver演算名Node インターフェイスと揃えられていました。 Node をそのまま XPathNSResolver として使えることが想定されたものでした。

[20] ほかにもいくつかのコールバック関数は、 コールバックインターフェイスでした。 互換性のために必要なものを除き、 新設されたコールバック関数に切り替えられました。

実現値

[5] コールバックインターフェイスは、利用者オブジェクト実装できます。 プラットフォームオブジェクト実装できません。つまり、 著者コールバックインターフェイス実装したオブジェクトを作成できますが、 利用者エージェントは作成できません。

歴史

[6] Callback interface prototype should be Function.prototype, not Object… (ayg著, ) https://github.com/heycam/webidl/commit/6b0eb63d6cba3ff1f90f4ef3e733749ff51751a0

[7] Revamp interface bindings (#313) (tobie著, ) https://github.com/heycam/webidl/commit/4a8f57e276369db7ea5fb09974a09b0ca5d276dd

[8] Stop claiming callback interfaces are interfaces (Ms2ger著, ) https://github.com/heycam/webidl/commit/b8ff6b125db0059ad015643074a4b80cae2b6063

[9] Stop claiming callback interfaces are interfaces by Ms2ger · Pull Request #705 · heycam/webidl () https://github.com/heycam/webidl/pull/705

[12] Remove unused callback interface functionality (Ms2ger著, ) https://github.com/heycam/webidl/commit/8f762224f688f0cf61e62cfe220b597878c2ef24

[13] Remove unused callback interface functionality by Ms2ger · Pull Request #696 · heycam/webidl () https://github.com/heycam/webidl/pull/696

[14] Should callback interfaces with more than one operation be supported? · Issue #661 · heycam/webidl () https://github.com/heycam/webidl/issues/661

[16] Should callback interfaces with more than one operation be supported? · Issue #661 · heycam/webidl () https://github.com/heycam/webidl/issues/661

[17] Fix the grammar for CallbackInterfaceMembers. (#753) (Ms2ger著, ) https://github.com/heycam/webidl/commit/15563ce1568480425da51830cf1ae2b3773e6709

[18] Fix the grammar for CallbackInterfaceMembers. by Ms2ger · Pull Request #753 · heycam/webidl () https://github.com/heycam/webidl/pull/753

[19] CallbackInterfaceMembers grammar question (typo?) · Issue #751 · heycam/webidl () https://github.com/heycam/webidl/issues/751