any
byte
octet
boolean
short
unsigned short
long
unsigned long
long long
unsigned long
float
unrestricted float
double
unrestricted double
DOMString
USVString
ByteString
object
Date
RegExp
Function
Int8Array
Int16Array
Int32Array
Uint8Array
Uint16Array
Uint32Array
Uint8ClampedArray
Float32Array
Float64Array
ArrayBuffer
DataView
Error
DOMException
symbol
[2] DOMインターフェイスの一覧、型定義も参照。
[]
exception
ScalarValueString
ArrayBufferData
[4] Web IDL では次のような分類が定義されています >>3。
[5] Web IDL 上では、組み込みの型は予約語 (の組み合わせ) により、 IDL素片により定義される型は識別子により、 組み合わせの型はそれらと Web IDL の構文の組み合わせによって表現されます。
[6] それぞれの型に対しては型名が定義されています >>3。 ただし型名は衝突することがありますから、型を識別する目的では使えません。
[7] any
やunion型において実際の値の型のことを、
特定型といいます。
[12] 型は、指定されてる対象によって、次のような制約があります。
any | primitive型 | object | インターフェイス | 辞書 | 列挙 | コールバック関数 | Date | RegExp | void | |
定数の型 | × | ○?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 | ○ |
[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