WebIDLの型

型 (Web IDL)

[1] Web IDL/DOM (type) の一覧です。

仕様書

WebIDL 基本的な型

IDL 素片により定義される型

[2] DOMインターフェイスの一覧型定義も参照。

組み合わせの型

歴史的な型

分類

[4] Web IDL では次のような分類が定義されています >>3

識別子

[5] Web IDL 上では、組み込みの型は予約語 (の組み合わせ) により、 IDL素片により定義される型は識別子により、 組み合わせの型はそれらと Web IDL の構文の組み合わせによって表現されます。

[6] それぞれのに対しては型名が定義されています >>3。 ただし型名は衝突することがありますから、を識別する目的では使えません。

型に関する概念

[7] anyunion型において実際の値ののことを、 特定型といいます。

[13] 配列型列型において構成要素ののことを、要素型といいます。

[9] union型を構成するメンバー型といいます。

[8] null可能型に対して元ののことを内側型といいます。

型指定の制約

[16] この表は古くなっています。

[12] は、指定されてる対象によって、次のような制約があります。

anyprimitive型objectインターフェイス辞書列挙コールバック関数DateRegExpvoid
定数×○?t×××××××
属性○?tau○?tau○?tau○?tau×○?tau○?tau○?tau○?tau
返し型○?taus○?taus○?taus○?taus○?taus○?taus○?taus○?taus○?taus
引数○?taus○?taus○?taus○?taus○taus○?taus○?taus○?taus○?taus
辞書メンバー○?taus○?taus○?taus○?taus※taus○?taus○?taus○?taus○?taus
例外フィールド○?tau○?tau○?tau○?tau×○?tau○?tau○?tau○?tau
直列化可能型×○?tus×※?tus※?tus○?tus×○?tus×
typedef○?taus○?taus○?taus○?taus○?taus○?taus○?taus○?taus○?taus
unionメンバー型×○?taus○?taus○?taus○?taus○?taus○?taus○?taus○?taus
null可能型内側型×○taus○taus○taus○taus○taus○taus○taus○taus
sequence<>内側型○?taus○?taus○?taus○?taus○?taus○?taus○?taus○?taus○?taus
配列内側型○?tau○?tau○?tau○?tau×○?tau○?tau○?tau○?tau
Promise内側型○?taus○?taus○?taus○?taus○?taus○?taus○?taus○?taus○?taus

演算

[10] Web IDL値演算

関連

Infra値, JavaScript値

歴史

[11] Make quality an explicit argument for canvas image conversion (domenic著, ) https://github.com/whatwg/html/commit/7d25c4c2452b705220417ffb951c9b89e04ba50b

[15] Reword the distinguishability algorithm. (jyasskin著, ) https://github.com/heycam/webidl/commit/ab1756ece27426128adaa7b9ea809a7a615d6f40

[17] [geometry] Use union instead of overload for DOMMatrix/DOMMatrixReadO… (zcorpan著, ) https://github.com/w3c/fxtf-drafts/commit/2e04b5db67698e01f5852d66b300d45fe6d10387

[18] Allow extended attributes to apply to types (#286) (domenic著, ) https://github.com/heycam/webidl/commit/faaaaa9ffb548a303db362a09e4b1504c4605e0c

[19] >>18 これが前からあれば USVString は要らなかったんだがなw

[20] Fix Web IDL extended attribute usage for recent changes (domenic著, ) https://github.com/whatwg/html/commit/793ace83447c9420a4dbc14f9bb14d3c35550f0a

[21] Clarify value vs type in distinguishability categories (#413) (TimothyGu著, ) https://github.com/heycam/webidl/commit/b0ab1c0abb63ee47b30aaf502140a5c18c3e0573

[22] Fix grammar conflicts (tobie著, ) https://github.com/heycam/webidl/commit/76c51928d97b2cd09083120c64056ba4b7adc20c

[23] Check grammar is LL(1) as part of Travis builds by tobie · Pull Request #458 · heycam/webidl () https://github.com/heycam/webidl/pull/458

[24] Maybe we should think about Interface.isInterface functions again (Boris Zbarsky著, ) https://lists.w3.org/Archives/Public/public-script-coord/2013JulSep/0105.html

[25] 24413 – consider adding Interface.isInterface() functions () https://www.w3.org/Bugs/Public/show_bug.cgi?id=24413

[26] Editorial: refer to the correct types in integer conversion algorithms (Ms2ger著, ) https://github.com/heycam/webidl/commit/107e981e86919291e9e99b605751173e669f7eb5

[27] Integer type conversions seem to return wrong type for unsigned types and long long · Issue #579 · heycam/webidl () https://github.com/heycam/webidl/issues/579

[28] Editorial: Refer to the correct types in integer conversion algorithms. by Ms2ger · Pull Request #613 · heycam/webidl () https://github.com/heycam/webidl/pull/613