aboutsummaryrefslogtreecommitdiff
path: root/files/ja/web/api/idbfactory/cmp/index.html
blob: 6c52d63e05409e82210058959f31a8e477516409 (plain)
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
---
title: IDBFactory.cmp
slug: Web/API/IDBFactory/cmp
tags:
  - API
  - Database
  - IDBFactory
  - IndexedDB
  - Storage
  - cmp
translation_of: Web/API/IDBFactory/cmp
---
<p>{{ APIRef("IDBFactory") }}</p>
<div>
 <p>{{domxref("IDBFactory")}}インターフェイスの<code>cmp()</code>メソッドは、2つのキーが等価か決定するために比較し、そして、IndexedDBで保存や統合のような操作を命令します。</p>
</div>
<div class="note">
 <p><strong>Note</strong>: Do not use this method for comparing arbitrary JavaScript values, because many JavaScript values are either not valid IndexedDB keys (booleans and objects, for example) or are treated as equivalent IndexedDB keys (for example, since IndexedDB ignores arrays with non-numeric properties and treats them as empty arrays, so any non-numeric arrays are treated as equivalent). This throws an exception if either of the values is not a valid key.</p>
</div>
<h2 id="構文">構文</h2>
<pre class="brush: js">var result = window.indexedDB.cmp(a, b);</pre>
<h3 id="戻り値">戻り値</h3>
<p>比較結果を示す整数値。 次のテーブルに可能性のある値とその意味を載せます。:</p>
<table class="standard-table">
 <tbody>
  <tr>
   <th scope="col">戻り値</th>
   <th scope="col">説明</th>
  </tr>
  <tr>
   <td>-1</td>
   <td>1つ目のキーが2つ目のキーより小さい</td>
  </tr>
  <tr>
   <td>0</td>
   <td>1つ目のキーと2つ目のキーが等しい</td>
  </tr>
  <tr>
   <td>1</td>
   <td>1つ目のキーが2つ目のキーより大きい</td>
  </tr>
 </tbody>
</table>
<h3 id="例外">例外</h3>
<p>このメソッドでは、次の型のような{{domxref("DOMError")}} を持つ {{domxref("DOMException")}}が発生するかもしれません。</p>
<table class="standard-table">
 <thead>
  <tr>
   <th scope="col">属性</th>
   <th scope="col">説明</th>
  </tr>
  <tr>
   <td><a href="/en-US/docs/DOM/DOMError"><code>DataError</code></a></td>
   <td>渡されたキーが不正な値である。</td>
  </tr>
 </thead>
</table>
<h2 id="例"></h2>
<pre class="brush: js;highlight:[3]">var a = 1;
var b = 2;
var result = window.indexedDB.cmp(a, b);
console.log( "Comparison results: " + result );</pre>
<h2 id="パラメーター">パラメーター</h2>
<dl>
 <dt>
  first</dt>
 <dd>
  比較する1つ目のキー。</dd>
 <dt>
  second</dt>
 <dd>
  比較する2つ目のキー。</dd>
</dl>
<h2 id="仕様">仕様</h2>
<table class="standard-table">
 <tbody>
  <tr>
   <th scope="col">Specification</th>
   <th scope="col">Status</th>
   <th scope="col">Comment</th>
  </tr>
  <tr>
   <td>{{SpecName('IndexedDB', '#widl-IDBFactory-cmp-short-any-first-any-second', 'cmp')}}</td>
   <td>{{Spec2('IndexedDB')}}</td>
   <td> </td>
  </tr>
 </tbody>
</table>
<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザ実装状況</h2>
<div>
 {{CompatibilityTable}}</div>
<div id="compat-desktop">
 <table class="compat-table">
  <tbody>
   <tr>
    <th>Feature</th>
    <th>Chrome</th>
    <th>Firefox (Gecko)</th>
    <th>Internet Explorer</th>
    <th>Opera</th>
    <th>Safari (WebKit)</th>
   </tr>
   <tr>
    <td>Basic support</td>
    <td>23{{property_prefix("webkit")}}<br>
     24</td>
    <td>10 {{property_prefix("moz")}}<br>
     {{CompatGeckoDesktop("16.0")}}</td>
    <td>10, partial</td>
    <td>15</td>
    <td>7.1</td>
   </tr>
  </tbody>
 </table>
</div>
<div id="compat-mobile">
 <table class="compat-table">
  <tbody>
   <tr>
    <th>Feature</th>
    <th>Android</th>
    <th>Firefox Mobile (Gecko)</th>
    <th>Firefox OS</th>
    <th>IE Phone</th>
    <th>Opera Mobile</th>
    <th>Safari Mobile</th>
   </tr>
   <tr>
    <td>Basic support</td>
    <td>4.4</td>
    <td>{{CompatGeckoMobile("22.0")}}</td>
    <td>1.0.1</td>
    <td>10</td>
    <td>22</td>
    <td>{{CompatNo}}</td>
   </tr>
  </tbody>
 </table>
</div>
<div class="warning">
 <p>Chromeは新しい仕様を実装していますが、旧い仕様も実装したままになっているので注意してください。同じように、ベンダプレフィックスなしのindexedDBがあるにもかかわらず、プレフィックス付きのwebkitIndexedDBも実装しています。</p>
</div>
<h2 id="関連情報">関連情報</h2>
<ul>
 <li><a href="/en-US/docs/Web/API/IndexedDB_API/Using_IndexedDB">Using IndexedDB</a></li>
 <li>Starting transactions: {{domxref("IDBDatabase")}}</li>
 <li>Using transactions: {{domxref("IDBTransaction")}}</li>
 <li>Setting a range of keys: {{domxref("IDBKeyRange")}}</li>
 <li>Retrieving and making changes to your data: {{domxref("IDBObjectStore")}}</li>
 <li>Using cursors: {{domxref("IDBCursor")}}</li>
 <li>Reference example: <a class="external" href="https://github.com/mdn/to-do-notifications/tree/gh-pages">To-do Notifications</a> (<a class="external" href="http://mdn.github.io/to-do-notifications/">view example live</a>.)</li>
</ul>