/
668.txt
31 lines (24 loc) · 1.81 KB
/
668.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
* 仕様書
[REFS[
- [1] [CITE[Web IDL (Second Edition)]] ([TIME[2015-05-27 01:29:33 +09:00]] 版) <http://heycam.github.io/webidl/#idl-objects>
]REFS]
* 意味
[2] [[プラットフォームオブジェクト]]は、
[FIG(list)[
- [3] [[非コールバックインターフェイス]]を[[実装]]する[[オブジェクト]]
- [4] [[Web IDL]] [CODE(IDL)@en[[[DOMException]]]] を表す[[オブジェクト]]
- [5] [[Web IDL]] [[配列オブジェクト]] ([[プラットフォーム配列オブジェクト]])
]FIG]
... です [SRC[>>1]]。
;; [7] [[プラットフォームオブジェクト]]かどうかは、ある実装についての区分となります。
例えば [[Webブラウザー]]が読み込んだページが [[JavaScript]] で [[DOM]]
を実装している場合は、その [[JavaScript]] が実装する [CODE(DOMi)@en[[[Node]]]]
[[オブジェクト]]は、その [[JavaScript]] ライブラリーにとっては[[プラットフォームオブジェクト]]ですが、
[[Webブラウザー]]にとっては[[プラットフォームオブジェクト]]ではありません。
[8] [[プラットフォームオブジェクト]]は、[[非コールバックインターフェイス]]のみ[[実装]]できます
[SRC[>>1]]。
* 処理
[6] [[Web IDL]] の実装は、[[プラットフォームオブジェクト]]を [[C++]] その他の言語で実装しても構いませんし、
[[JavaScript]] で実装しても構いません。いずれにせよ、実装は自身の[[プラットフォームオブジェクト]]を認識できる必要があります。
これは何らかの内部状態を[[オブジェクト]]に持たせることでも構いませんし、 [[C++]]
の[[クラス]]によって区別するのでも構いませんし、他の方法でも構いません。 [SRC[>>1]]