aboutsummaryrefslogtreecommitdiff
path: root/files/ja/web/javascript/reference/global_objects/array/unobserve/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'files/ja/web/javascript/reference/global_objects/array/unobserve/index.html')
-rw-r--r--files/ja/web/javascript/reference/global_objects/array/unobserve/index.html134
1 files changed, 134 insertions, 0 deletions
diff --git a/files/ja/web/javascript/reference/global_objects/array/unobserve/index.html b/files/ja/web/javascript/reference/global_objects/array/unobserve/index.html
new file mode 100644
index 0000000000..1eafff5efa
--- /dev/null
+++ b/files/ja/web/javascript/reference/global_objects/array/unobserve/index.html
@@ -0,0 +1,134 @@
+---
+title: Array.unobserve
+slug: Web/JavaScript/Reference/Global_Objects/Array/unobserve
+tags:
+ - Array
+ - JavaScript
+ - Method
+ - Obsolete
+translation_of: Archive/Web/JavaScript/Array.unobserve
+---
+<div>{{JSRef}} {{obsolete_header}}</div>
+
+<p>Array<strong>.unobserve()</strong>メソッドは、{{jsxref("Array.observe()")}} で設定された監視を削除するために使われていましたが、非推奨となりブラウザから削除されました。代わりに、一般的な {{jsxref("Proxy")}} オブジェクトを使用してください。</p>
+
+<h2 id="Syntax" name="Syntax">構文</h2>
+
+<pre class="syntaxbox">Array.unobserve(<var>arr</var>, <var>callback</var>)</pre>
+
+<h3 id="Parameters" name="Parameters">引数</h3>
+
+<dl>
+ <dt><code>arr</code></dt>
+ <dd>監視を停止する配列。</dd>
+ <dt><code>callback</code></dt>
+ <dd><strong>arr</strong> 配列の変更時に毎回呼び出されるのを停止するための、オブザーバへの参照。</dd>
+</dl>
+
+<h2 id="Description" name="Description">説明</h2>
+
+<p>配列からオブザーバを削除するため、<code>Array.unobserve()</code> は {{jsxref("Array.observe()")}} の後に呼び出される必要があります。</p>
+
+<p>callback は関数への参照とすべきであり、匿名関数ではいけません。なぜなら、この参照は以前のオブザーバを解除するために使用されるからです。callback として匿名関数を使った <strong>Array.unobserve()</strong> の呼び出しは、オブザーバを削除できないので無意味です。</p>
+
+<h2 id="Examples" name="Examples">例</h2>
+
+<h3 id="Unobserving_an_array" name="Unobserving_an_array">配列の監視を削除</h3>
+
+<pre class="brush: js">var arr = [1, 2, 3];
+
+var observer = function(changes) {
+ console.log(changes);
+}
+
+Array.observe(arr, observer);
+​
+arr.push(4);
+// [{type: "splice", object: &lt;arr&gt;, index: 3, removed:[], addedCount: 1}]
+
+Array.unobserve(arr, observer);
+
+arr.pop();
+// callback は呼び出されなかった。</pre>
+
+<h3 id="Using_an_anonymous_function" name="Using_an_anonymous_function">匿名関数の使用</h3>
+
+<pre class="brush: js">var persons = ['Khalid', 'Ahmed', 'Mohammed'];
+
+Array.observe(persons, function (changes) {
+ console.log(changes);
+});
+
+persons.shift();
+// [{type: "splice", object: &lt;arr&gt;, index: 0, removed: [ "Khalid" ], addedCount: 0 }]
+
+Array.unobserve(persons, function (changes) {
+ console.log(changes);
+});
+
+persons.push('Abdullah');
+// [{type: "splice", object: &lt;arr&gt;, index: 2, removed: [], addedCount: 1 }]
+// callback は常に呼び出される。
+</pre>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザ実装状況</h2>
+
+<div>{{CompatibilityTable}}</div>
+
+<div id="compat-desktop">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>機能</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>基本サポート</td>
+ <td>{{CompatChrome("36")}} [1]</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatOpera("23")}}</td>
+ <td>{{CompatNo}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="compat-mobile">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>機能</th>
+ <th>Android</th>
+ <th>Chrome for Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>基本サポート</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatChrome("36")}} [1]</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatOpera("23")}}</td>
+ <td>{{CompatNo}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<p>[1] Chrome 49 で非推奨になりました。</p>
+
+<h2 id="See_also" name="See_also">関連情報</h2>
+
+<ul>
+ <li>{{jsxref("Array.observe()")}} {{obsolete_inline}}</li>
+ <li>{{jsxref("Object.observe()")}} {{obsolete_inline}}</li>
+ <li>{{jsxref("Object.unobserve()")}} {{obsolete_inline}}</li>
+</ul>