aboutsummaryrefslogtreecommitdiff
path: root/files/ja/mozilla/tech/xpcom/language_bindings/components.interfaces/index.html
diff options
context:
space:
mode:
authorPeter Bengtsson <mail@peterbe.com>2020-12-08 14:40:17 -0500
committerPeter Bengtsson <mail@peterbe.com>2020-12-08 14:40:17 -0500
commit33058f2b292b3a581333bdfb21b8f671898c5060 (patch)
tree51c3e392513ec574331b2d3f85c394445ea803c6 /files/ja/mozilla/tech/xpcom/language_bindings/components.interfaces/index.html
parent8b66d724f7caf0157093fb09cfec8fbd0c6ad50a (diff)
downloadtranslated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.gz
translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.bz2
translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.zip
initial commit
Diffstat (limited to 'files/ja/mozilla/tech/xpcom/language_bindings/components.interfaces/index.html')
-rw-r--r--files/ja/mozilla/tech/xpcom/language_bindings/components.interfaces/index.html37
1 files changed, 37 insertions, 0 deletions
diff --git a/files/ja/mozilla/tech/xpcom/language_bindings/components.interfaces/index.html b/files/ja/mozilla/tech/xpcom/language_bindings/components.interfaces/index.html
new file mode 100644
index 0000000000..8105f7f239
--- /dev/null
+++ b/files/ja/mozilla/tech/xpcom/language_bindings/components.interfaces/index.html
@@ -0,0 +1,37 @@
+---
+title: Components.interfaces
+slug: Mozilla/Tech/XPCOM/Language_Bindings/Components.interfaces
+tags:
+ - 'XPCOM:Language Bindings'
+ - XPConnect
+translation_of: Mozilla/Tech/XPCOM/Language_Bindings/Components.interfaces
+---
+<p>
+</p><p><code>Components.interfaces</code> は、プロパティがそれらの名前によって索引付けされたクラスである、読み出し専用オブジェクトです。
+</p>
+<h2 id="はじめに"> はじめに </h2>
+<p><code>Components.interfaces</code> は、<a href="ja/NsIJSCID">nsIJSCID</a> インターフェースを実装した読み出し専用オブジェクトです。それぞれのオブジェクトは、いくつかのコンポーネントが実装している (あるいは未実装の可能性もあります) <a href="ja/XPCOM">XPCOM</a> インターフェースのひとつを表します。
+</p><p><br>
+対応する <code>.idl</code> の宣言が <code>[scriptable]</code> として設計されたインターフェースのみを反映します。つまり、<a href="ja/XPConnect">XPConnect</a> が JavaScript へ反映することのできるインターフェースということです。
+</p><p><code>Components.interfaces</code> オブジェクトのプロパティは、<code>nsID</code> nsID 型のパラメータを除いた XPCOM メソッドで利用されます。これには <code><a href="ja/NsISupports">nsISupports</a>::<a href="ja/NsISupports/QueryInterface">QueryInterface</a></code>、<code>nsICID::getService</code> が受け取る追加パラメータ、<code>nsICID::createInstance</code> (JavaScript から呼ばれた場合)、<code><a href="ja/NsIClassInfo">nsIClassInfo</a>::<a href="ja/NsIClassInfo/getInterfaces">getInterfaces</a></code> が含まれます。
+</p><p><code>Components.interfaces</code> オブジェクトのプロパティは <code><a href="ja/Core_JavaScript_1.5_Reference/Statements/for...in">for...in</a></code> ループを使って列挙できます。
+</p>
+<h2 id="使い方"> 使い方 </h2>
+<h3 id="インターフェースオブジェクトへのアクセス"> インターフェースオブジェクトへのアクセス </h3>
+<p><code>Components.interfaces</code> オブジェクトのプロパティはインターフェース名で索引付けされます。インターフェースオブジェクトは以下のようにして取得できます。
+</p>
+<pre class="eval">var iface = Components.interfaces.nsISupportsArray;
+</pre>
+<p>この戻り値は <code>nsISupportsArray</code> インターフェースのインターフェースオブジェクトです。
+</p>
+<h3 id="インターフェースで定義されたコンスタントへのアクセス"> インターフェースで定義されたコンスタントへのアクセス </h3>
+<p>Interface descriptions (cf. <a href="ja/XPIDL">XPIDL</a>) may not only contain method declarations, but also constants. For example, assume we have the following interface declaration:
+</p>
+<pre class="eval">interface nsIFoo : nsISupports {
+ const PRUint32 MYFLAG = 5;
+};
+</pre>
+<p>The constant <code>MYFLAG</code> can then be accessed using
+</p>
+<pre class="eval">var myFlag = Components.interfaces.nsIFoo.MYFLAG;
+</pre>