recursal/MDN huggingface dataset:
WebGLRenderingContext.canvas
============================

La propriété `WebGLRenderingContext.canvas` est une référence en lecture seule à l'objet `HTMLCanvasElement` ou `OffscreenCanvas` associé au contexte. Il peut s'agir de `null` s'il n'est pas associé à un élément `<canvas>` ou à un objet `OffscreenCanvas`.

Syntaxe
-------


```js
gl.canvas;
```

### Valeur retournée

Soit un objet `HTMLCanvasElement` ou `OffscreenCanvas`, soit `null`.

Exemples
--------

### Élément canevas

Étant donné cet élément `<canvas>` :


```html
<canvas id="canevas"></canvas>
```


Vous pouvez en récupérer une référence à partir du `WebGLRenderingContext` en utilisant la propriété `canvas` :


```js
var canevas = document.getElementById("canevas");
var gl = canevas.getContext("webgl");
gl.canvas; // HTMLCanvasElement
```

### Canevas hors écran

Exemple d'utilisation de l'objet expérimental `OffscreenCanvas`.


```js
var horsEcran = new OffscreenCanvas(256, 256);
var gl = horsEcran.getContext("webgl");
gl.canvas; // OffscreenCanvas
```

Spécifications
--------------

| Specification |
| --- |
| WebGL Specification # DOM-WebGLRenderingContext-canvas |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `CanvasRenderingContext2D.canvas`
* `OffscreenCanvas`
WebGLRenderingContext.uniform[1234][fi][v]()
============================================

Les méthodes **`WebGLRenderingContext.uniform[1234][fi][v]()`** de l'API WebGL indiquent les valeurs des variables uniform.

**Note :** Beaucoup des fonctions décrites ici ont des interfaces WebGL 2 étendues, qui peuvent être trouvées en `WebGL2RenderingContext.uniform[1234][uif][v]()` (en-US).

Syntaxe
-------


```js
void gl.uniform1f(emplacement, v0);
void gl.uniform1fv(emplacement, valeur);
void gl.uniform1i(emplacement, v0);
void gl.uniform1iv(emplacement, valeur);

void gl.uniform2f(emplacement, v0, v1);
void gl.uniform2fv(emplacement, valeur);
void gl.uniform2i(emplacement, v0, v1);
void gl.uniform2iv(emplacement, valeur);

void gl.uniform3f(emplacement, v0, v1, v2);
void gl.uniform3fv(emplacement, valeur);
void gl.uniform3i(emplacement, v0, v1, v2);
void gl.uniform3iv(emplacement, valeur);

void gl.uniform4f(emplacement, v0, v1, v2, v3);
void gl.uniform4fv(emplacement, valeur);
void gl.uniform4i(emplacement, v0, v1, v2, v3);
void gl.uniform4iv(emplacement, valeur);
```

### Paramètres

emplacement

Un objet `WebGLUniformLocation` (en-US) contenant l'emplacement de l'attribut uniform à modifier.

`valeur, v0, v1, v2, v3`

La nouvelle valeur à utiliser pour la variable uniform. Types possibles :

* Un `Number` flottant pour les valeurs flottantes (méthodes avec "f").
* Une suite de nombres flottants (par exemple, un `Float32Array` ou un `Array` de nombres) pour les méthodes de vecteurs de flottants (méthodes avec "fv").
* Un `Number` entier pour les valeurs entières (méthodes avec "i").
* Un `int32Array` pour les méthodes de vecteur d'entiers (méthodes avec "iv").

### Valeur retournée

Aucune.

Exemples
--------


```js
gl.uniform1f(u_alpha, 0.8);
```

Spécifications
--------------

| Specification |
| --- |
| WebGL Specification # 5.14.10 |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `WebGLRenderingContext.uniformMatrix()`
WebGLRenderingContext.createBuffer()
====================================

La méthode **`WebGLRenderingContext.createBuffer()`** de l'API WebGL crée et initialise un `WebGLBuffer` stockant des données telles que des sommets ou des couleurs.

Syntaxe
-------


```js
WebGLBuffer gl.createBuffer();
```

### Paramètres

Aucun.

### Valeur retournée

Un `WebGLBuffer` stockant des données telles que des sommets ou des couleurs.

Exemples
--------

### Création d'un tampon


```js
var canevas = document.getElementById("canevas");
var gl = canevas.getContext("webgl");
var tampon = gl.createBuffer();
```

Spécifications
--------------

| Specification |
| --- |
| WebGL Specification # 5.14.5 |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `WebGLRenderingContext.bindBuffer()`
* `WebGLRenderingContext.deleteBuffer()`
* `WebGLRenderingContext.isBuffer()`
* Autres tampons : `WebGLFramebuffer`, `WebGLRenderbuffer` (en-US)
WebGLRenderingContext.enable()
==============================

La méthode `WebGLRenderingContext.enable()` de l'API WebGL active des fonctionnalités WebGL particulières pour ce contexte.

Syntaxe
-------


```js
void gl.enable(fon);
```

### Paramètres

`fon`

Un `GLenum` (en-US) indiquant quelle fonctionnalité WebGL activer. Valeurs possibles :

| Constante | Description |
| --- | --- |
| `gl.BLEND` | Active le mélange des valeurs de couleur de fragment calculées. Voir `WebGLRenderingContext.blendFunc()` (en-US). |
| `gl.CULL_FACE` | Active le masquage des polygones. Voir `WebGLRenderingContext.cullFace()` (en-US). |
| `gl.DEPTH_TEST` | Active les comparaisons et les mises à jour dans le tampon de profondeur. Voir `WebGLRenderingContext.depthFunc()` (en-US). |
| `gl.DITHER` | Active le tramage des composantes de couleur avant qu'elles ne soient écrites dans le tampon de couleur. |
| `gl.POLYGON_OFFSET_FILL` | Active l'ajout d'un décalage aux valeurs de profondeur des fragments de polygone. Voir `WebGLRenderingContext.polygonOffset()` (en-US). |
| `gl.SAMPLE_ALPHA_TO_COVERAGE` | Active le calcul d'une valeur de couverture temporaire déterminée par la valeur alpha. |
| `gl.SAMPLE_COVERAGE` | Active le ET de la couverture des fragments avec la valeur de couverture temporaire. Voir `WebGLRenderingContext.sampleCoverage()` (en-US). |
| `gl.SCISSOR_TEST` | Active le test de détourage qui supprime les fragments se trouvant en dehors du rectangle de détourage. Voir `WebGLRenderingContext.scissor()` (en-US). |
| `gl.STENCIL_TEST` | Active le test et les mises à jour stencil dans le stencil buffer. Voir `WebGLRenderingContext.stencilFunc()` (en-US). |

Lors de l'utilisation d'un WebGL 2 context, les valeurs suivantes sont en outre disponibles :

| Constante | Description |
| --- | --- |
| `gl.RASTERIZER_DISCARD` | Les primitives sont supprimées immédiatement après l'étape de rastérisation, mais après l'étape de renvoi de transformation optionnelle. Les commandes `gl.clear()` sont ignorées. |

### Valeur retournée

Aucune.

Exemples
--------


```js
gl.enable(gl.DITHER);
```


Pour vérifier que cette fonctionnalité est activée, utilisez la méthode `WebGLRenderingContext.isEnabled()` (en-US) :


```js
gl.isEnabled(gl.DITHER);
// true
```

Spécifications
--------------

| Specification |
| --- |
| WebGL Specification # 5.14.3 |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `WebGLRenderingContext.disable()` (en-US)
* `WebGLRenderingContext.isEnabled()` (en-US)
WebGLRenderingContext.getAttribLocation()
=========================================

La méthode **`WebGLRenderingContext.getAttribLocation()`** de l'API WebGL retourne l'emplacement d'une variable d'attribut dans le `WebGLProgram` indiqué.

Syntaxe
-------


```js
GLint gl.getAttribLocation(programme, nom);
```

### Paramètres

programme

Un `WebGLProgram` contenant la variable d'attribut.

nom

Un `DOMString` indiquant le nom de la variable d'attribut dont l'emplacement est à retourner.

### Valeur retournée

Un nombre `GLint` (en-US) indiquant l'emplacement du nom de la variable si trouvé. Retourne -1 sinon.

Exemples
--------


```js
gl.getAttribLocation(programme, "vColor");
```

Spécifications
--------------

| Specification |
| --- |
| WebGL Specification # 5.14.10 |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `WebGLRenderingContext.getUniformLocation()`
WebGLRenderingContext.shaderSource()
====================================

La méthode **`WebGLRenderingContext.shaderSource()`** de l'API WebGL définit le code source d'un `WebGLShader`.

Syntaxe
-------


```js
void gl.shaderSource(shader, source);
```

### Parameters

shader

Un objet `WebGLShader` dans lequel définir le code source.

source

Une `DOMString` contenant le code source GLSL à définir.

### Valeur retournée

Aucune.

Exemple
-------


```js
var shader = gl.createShader(gl.VERTEX\_SHADER);
gl.shaderSource(shader, originalSource);

var source = gl.getShaderSource(shader);
```

Spécifications
--------------

| Specification |
| --- |
| WebGL Specification # 5.14.9 |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `WebGLRenderingContext.createShader()`
* `WebGLRenderingContext.isShader()` (en-US)
* `WebGLRenderingContext.deleteShader()`
* `WebGLRenderingContext.getShaderSource()` (en-US)
WebGLRenderingContext.createShader()
====================================

La méthode **WebGLRenderingContext.createShader() de l'**API WebGL crée un `WebGLShader`, qui peut alors être configuré davantage en utilisant `WebGLRenderingContext.shaderSource()` et `WebGLRenderingContext.compileShader()`.

Syntaxe
-------


```js
WebGLShader gl.createShader(type);
```

### Paramètres

`type`

Soit `gl.VERTEX_SHADER`, soit `gl.FRAGMENT_SHADER`

Exemples
--------

Voir `WebGLShader` pour l'utilisation et des exemples.

Spécifications
--------------

| Specification |
| --- |
| WebGL Specification # 5.14.9 |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `WebGLProgram`
* `WebGLShader`
* `WebGLRenderingContext.attachShader()`
* `WebGLRenderingContext.bindAttribLocation()` (en-US)
* `WebGLRenderingContext.compileShader()`
* `WebGLRenderingContext.createProgram()`
* `WebGLRenderingContext.createShader()`
* `WebGLRenderingContext.deleteProgram()` (en-US)
* `WebGLRenderingContext.deleteShader()`
* `WebGLRenderingContext.detachShader()` (en-US)
* `WebGLRenderingContext.getAttachedShaders()` (en-US)
* `WebGLRenderingContext.getProgramParameter()` (en-US)
* `WebGLRenderingContext.getProgramInfoLog()` (en-US)
* `WebGLRenderingContext.getShaderParameter()`
* `WebGLRenderingContext.getShaderPrecisionFormat()` (en-US)
* `WebGLRenderingContext.getShaderInfoLog()` (en-US)
* `WebGLRenderingContext.getShaderSource()` (en-US)
* `WebGLRenderingContext.isProgram()` (en-US)
* `WebGLRenderingContext.isShader()` (en-US)
* `WebGLRenderingContext.linkProgram()` (en-US)
* `WebGLRenderingContext.shaderSource()`
* `WebGLRenderingContext.useProgram()`
* `WebGLRenderingContext.validateProgram()` (en-US)
WebGLRenderingContext.createTexture()
=====================================

La méthode **`WebGLRenderingContext.createTexture()`** de l'API WebGL crée et initialise un objet `WebGLTexture`.

Syntaxe
-------


```js
WebGLTexture gl.createTexture();
```

### Paramètres

Aucun.

### Valeur retournée

Un objet `WebGLTexture` auquel des images peuvent être liées.

Exemples
--------

Voir aussi le tutoriel WebGL sur l'Utilisation de textures en WebGL.

### Création d'une texture


```js
var canevas = document.getElementById("canevas");
var gl = canevas.getContext("webgl");
var texture = gl.createTexture();
```

Spécifications
--------------

| Specification |
| --- |
| WebGL Specification # 5.14.8 |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `WebGLRenderingContext.bindTexture()`
* `WebGLRenderingContext.deleteTexture()` (en-US)
* `WebGLRenderingContext.isTexture()` (en-US)
* `WebGLRenderingContext.texImage2D()`
WebGLRenderingContext.bindTexture()
===================================

La méthode **`WebGLRenderingContext.bindTexture()`** de l'API WebGL lie la `WebGLTexture` donnée à une cible (point de liaison).

Syntaxe
-------


```js
void gl.bindTexture(cible, texture);
```

### Paramètres

cible

Un `GLenum` (en-US) indiquant le point de liaison (cible). Valeurs possibles :

* `gl.TEXTURE_2D` : une texture bidimensionnelle ;
* `gl.TEXTURE_CUBE_MAP` : une texture mappée sur un cube ;
* lors de l'utilisation d'un WebGL 2 context, les valeurs suivantes sont en outre disponibles :
    + `gl.TEXTURE_3D` : une texture tridimensionnelle ;
    + `gl.TEXTURE_2D_ARRAY` : une texture en tableau bidimensionnelle.

texture

Un objet `WebGLTexture` à lier.

### Valeur retournée

Aucune.

### Exceptions

Une erreur `gl.INVALID_ENUM` est déclenchée si `cible` n'est pas `gl.TEXTURE_2D`, `gl.TEXTURE_CUBE_MAP`, `gl.TEXTURE_3D`, ou `gl.TEXTURE_2D_ARRAY`.

Exemples
--------

### Liaison d'une texture


```js
var canevas = document.getElementById("canevas");
var gl = canevas.getContext("webgl");
var texture = gl.createTexture();

gl.bindTexture(gl.TEXTURE\_2D, texture);
```

### Obtention des liaisons en cours

Pour vérifier la liaison de texture en cours, interrogez les constantes `gl.TEXTURE_BINDING_2D` ou `gl.TEXTURE_BINDING_CUBE_MAP`.


```js
gl.getParameter(gl.TEXTURE\_BINDING\_2D);
```

Spécifications
--------------

| Specification |
| --- |
| WebGL Specification # 5.14.8 |
| WebGL 2.0 Specification # 3.7.1 |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `WebGLRenderingContext.createTexture()`
* `WebGLRenderingContext.deleteTexture()` (en-US)
* `WebGLRenderingContext.isTexture()` (en-US)
* `WebGLRenderingContext.texImage2D()`
WebGLRenderingContext.attachShader()
====================================

La méthode **WebGLRenderingContext.attachShader()** de l'API WebGL attache un `WebGLShader` de fragment ou de sommet à un `WebGLProgram`.

Syntaxe
-------


```js
void gl.attachShader(programme, shader);
```

### Paramètres

`programme`

Un `WebGLProgram`.

`shader`

Un `WebGLShader` de fragment ou de sommet.

Exemples
--------

Le code suivant attache des shaders pré-existants à un `WebGLProgram`.


```js
var programme = gl.createProgram();

// Attacher des shaders pré-existants
gl.attachShader(programme, shaderDeSommet);
gl.attachShader(programme, shaderDeFragment);

gl.linkProgram(programme);

if (!gl.getProgramParameter(programme, gl.LINK\_STATUS)) {
  var info = gl.getProgramInfoLog(programme);
  throw "Impossible de compiler le program WebGL. \n\n" + info;
}
```

Spécifications
--------------

| Specification |
| --- |
| WebGL Specification # 5.14.9 |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `WebGLProgram`
* `WebGLShader`
* `WebGLRenderingContext.attachShader()`
* `WebGLRenderingContext.compileShader()`
* `WebGLRenderingContext.createProgram()`
* `WebGLRenderingContext.createShader()`
* `WebGLRenderingContext.deleteProgram()` (en-US)
* `WebGLRenderingContext.deleteShader()`
* `WebGLRenderingContext.detachShader()` (en-US)
* `WebGLRenderingContext.getAttachedShaders()` (en-US)
* `WebGLRenderingContext.getProgramParameter()` (en-US)
* `WebGLRenderingContext.getProgramInfoLog()` (en-US)
* `WebGLRenderingContext.getShaderParameter()`
* `WebGLRenderingContext.getShaderPrecisionFormat()` (en-US)
* `WebGLRenderingContext.getShaderInfoLog()` (en-US)
* `WebGLRenderingContext.getShaderSource()` (en-US)
* `WebGLRenderingContext.isProgram()` (en-US)
* `WebGLRenderingContext.isShader()` (en-US)
* `WebGLRenderingContext.linkProgram()` (en-US)
* `WebGLRenderingContext.shaderSource()`
* `WebGLRenderingContext.useProgram()`
* `WebGLRenderingContext.validateProgram()` (en-US)
WebGLRenderingContext.getError()
================================

La méthode **`WebGLRenderingContext.getError()`** de l'API WebGL retourne des informations d'erreur.

Syntaxe
-------


```js
GLenum gl.getError();
```

### Paramètres

Aucun.

### Valeur retournée

| Constante | Description |
| --- | --- |
| `gl.NO_ERROR` | Aucune erreur n'a été enregistrée. La valeur de cette constante est 0. |
| `gl.INVALID_ENUM` | Une valeur non acceptable a été spécifiée pour un argument énuméré. La commande est ignorée et l'indicateur d'erreur est positionné. |
| `gl.INVALID_VALUE` | Un argument numérique est hors de sa plage. La commande est ignorée et l'indicateur d'erreur est positionné. |
| `gl.INVALID_OPERATION` | La commande indiquée n'est pas permise dans l'état courant. La commande est ignorée et l'indicateur d'erreur est positionné. |
| `gl.INVALID_FRAMEBUFFER_OPERATION` | Le tampon d'images actuellement lié n'est pas complet lors d'une tentative de rendu ou de relecture. |
| `gl.OUT_OF_MEMORY` | Plus assez de mémoire restante pour exécuter la commande. |
| `gl.CONTEXT_LOST_WEBGL` | Si le contexte WebGL est perdu, cette erreur est retournée lors du premier appel à `getError`. Après cela et jusqu'à ce que le contexte soit restauré, elle retourne `gl.NO_ERROR`. |

Exemples
--------


```js
gl.getError(); // gl.NO\_ERROR (0)

gl.enable(gl.MACHINTRUC);
gl.getError(); // gl.INVALID\_ENUM;
```

Spécifications
--------------

| Specification |
| --- |
| WebGL Specification # 5.14.3 |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `WebGLRenderingContext`
* `WebGLContextEvent` (en-US)
WebGLRenderingContext.isBuffer()
================================

La méthode **`WebGLRenderingContext.isBuffer()`** de l'API WebGL renvoie `true` si le `WebGLBuffer` passé est valide et `false` dans le cas contraire.

Syntaxe
-------


```js
GLboolean gl.isBuffer(tampon);
```

### Paramètres

tampon

Un `WebGLBuffer` à vérifier.

### Valeur retournée

Un `GLboolean` (en-US) indiquant si le tampon est ou non valide.

Exemples
--------

### Création d'un tampon


```js
var canevas = document.getElementById("canevas");
var gl = canevas.getContext("webgl");
var tampon = gl.createBuffer();

gl.isBuffer(tampon);
```

Spécifications
--------------

| Specification |
| --- |
| WebGL Specification # 5.14.5 |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `WebGLRenderingContext.bindBuffer()`
* `WebGLRenderingContext.createBuffer()`
* `WebGLRenderingContext.deleteBuffer()`
* Autres tampons : `WebGLFramebuffer`, `WebGLRenderbuffer` (en-US)
WebGLRenderingContext.deleteShader()
====================================

La méthode **`WebGLRenderingContext.deleteShader()`** de l'API WebGL marque l'objet `WebGLShader` indiqué pour suppression. Il sera ensuite supprimé dès que le shader ne sera plus utilisé. Cette méthode n'a aucun effet si le shader a déjà été supprimé, et le `WebGLShader` est automatiquement marqué pour la suppression lorsqu'il est détruit par le garbage collector.

Syntaxe
-------


```js
void gl.deleteShader(shader);
```

### Paramètres

shader

Un objet `WebGLShader` à détruire.

### Valeur retournée

Aucune.

Exemples
--------

### Suppression d'un shader


```js
gl.deleteShader(shader);
```

Spécifications
--------------

| Specification |
| --- |
| WebGL Specification # 5.14.9 |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `WebGLRenderingContext.createShader()`
* `WebGLRenderingContext.isShader()` (en-US)
* `WebGLRenderingContext.getAttachedShaders()` (en-US)
TextEncoder()
=============

Le constructeur **`TextEncoder()`** retourne un nouvel objet `TextEncoder` utf-8.

Syntaxe
-------


```js
encoder = new TextEncoder();
```

### Paramètre

* `TextEncoder()` ne prend plus de paramètre depuis Firefox 48 et Chrome 53.

**Note :** Avant Firefox 48 et Chrome 53, le nom de l'encodage était accepté comme un paramètre pour le constructeur de `TextEncoder`.
 Depuis, ces deux navigateurs ont supprimé le support pour les encodages autres que l'`utf-8` afin de respecter les spécifications.
 Désormais, n'importe quelle indication d'encodage passée au constructeur sera ignorée et `TextEncoder` sera créé avec le support de l'encodage `utf-8` uniquement.


### Exceptions

* `TextEncoder()` ne lève plus d'exception en cas de type d'encodage inconnu depuis Firefox 48 et Chrome 53.
Spécifications
--------------

| Specification |
| --- |
| Encoding Standard # ref-for-dom-textencoder① |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* L'interface `TextEncoder` appartenant à ce constructeur.
IDBFactory.cmp()
================

La méthode **`cmp()`** de l'interface `IDBFactory` compare deux valeurs de clé et détermine si celles-ci sont égales et sinon, laquelle est la plus grande. Cette opération est utilisée pour l'enregistrement et le parcours des données.

**Note:** Cette fonctionnalité est disponible via les Web Workers

**Note :** Cette méthode ne doit pas être utilisée pour comparer des valeurs JavaScript. En effet, de nombreuses valeurs JavaScript ne sont pas des valeurs valides pour représenter des clés IndexedDB (les booléens et les objets par exemple), dans ces cas, elles peuvent être traitées comme des clés égales (ainsi IndexedDB ignore les tableaux ayant des propriétés non numériques et les considère comme des tableaux vides, de sorte que les éventuels tableaux non numériques seront considérés comme égaux). Une exception est levée si l'une des valeurs n'est pas une clé valide.

Syntaxe
-------


```js
var resultat = window.indexedDB.cmp(a, b);
```

### Paramètres

`a`

La première clé pour la comparaison.

`b`

La deuxième clé pour la comparaison.

### Valeur de retour

Un entier qui indique le résultat de la comparaison. Le tableau ci-dessous indique les valeurs possibles et leur signification :

| Valeur renvoyée | Description |
| --- | --- |
| -1 | La clé 1 est plus petite que la clé 2. |
| 0 | Les deux clé sont égales. |
| 1 | La clé 1 est plus grande que la clé 2. |

### Exceptions levées

Cette méthode peut lever une exception `DOMException` de type :

| Exception | Description |
| --- | --- |
| `DataError` | L'une des clés fournies n'est pas valide. |

Exemples
--------


```js
var a = 1;
var b = 2;
var result = window.indexedDB.cmp(a, b);
console.log("Résultat de la comparaison : " + result);
```

Spécifications
--------------

| Specification |
| --- |
| Indexed Database API 3.0 # ref-for-dom-idbfactory-cmp① |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* Utiliser IndexedDB
* Initier une connexion : `IDBDatabase`
* Utiliser les transactions : `IDBTransaction`
* Définir un intervalle de clés : `IDBKeyRange`
* Récupérer et modifier les données : `IDBObjectStore`
* Utiliser les curseurs `IDBCursor`
* Exemple de référence : To-do Notifications (exemple *live*).