recursal/MDN huggingface dataset:
DataView.prototype.buffer
=========================

L'accesseur **`buffer`** est une propriété représentant l'objet `ArrayBuffer` ou `SharedArrayBuffer` référencé par la vue `DataView` lors de sa construction.

Exemple interactif
------------------

Syntaxe
-------


```js
dataview.buffer;
```

Description
-----------

La propriété `buffer` est un accesseur/mutateur dont le mutateur correspondant vaut `undefined`, cela signifie qu'il n'est possible que de lire cette propriété. Sa valeur est établie lors de la construction de l'objet `DataView` et ne peut pas être modifiée.

Exemples
--------

### Utilisation de la propriété `buffer`


```js
var buffer = new ArrayBuffer(8);
var dataview = new DataView(buffer);
dataview.buffer; // ArrayBuffer { byteLength: 8 }
```

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

| Specification |
| --- |
| ECMAScript Language Specification # sec-get-dataview.prototype.buffer |

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

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

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

* `DataView`
* `ArrayBuffer`
DataView.prototype.setFloat64()
===============================

La méthode **`setFloat64()`** permet d'enregistrer un nombre flottant signé sur 64 bits (type *double* par analogie avec C) à l'octet indiqué par rapport au début de la `DataView`.

Exemple interactif
------------------

Syntaxe
-------


```js
dataview.setFloat64(positionOctet, value [, littleEndian])
```

### Paramètres

`positionOctet`

La position, exprimée en numéro d'octet, à partir du début de la vue à laquelle enregistrer la donnée.

`valeur`

La valeur à enregistrer

`littleEndian`

Facultatif Indique si la donnée sur 64 bits est enregistrée dans l'ordre des octets de poids faibles. Si ce paramètre vaut `false` ou `undefined`, l'ordre sera celui des octets de poids forts.

### Valeur de retour

`undefined`.

### Erreurs renvoyées

`RangeError`

Renvoyée si `positionOctet` est tel que l'enregistrement sera fait en dehors de la vue.

Exemples
--------

### Utilisation de la méthode `setFloat64`


```js
var buffer = new ArrayBuffer(8);
var dataview = new DataView(buffer);
dataview.setFloat64(0, 3);
dataview.getFloat64(0); // 3
```

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

| Specification |
| --- |
| ECMAScript Language Specification # sec-dataview.prototype.setfloat64 |

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

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

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

* `DataView`
* `ArrayBuffer`
DataView.prototype.byteOffset
=============================

La propriété **`byteOffset`** est un accesseur représentant le décalage, exprimé en octets, entre la vue et le début de l'objet `ArrayBuffer` ou `SharedArrayBuffer` correspondant.

Exemple interactif
------------------

Syntaxe
-------


```js
dataview.byteOffset;
```

Description
-----------

La propriété `byteOffset` est un accesseur/mutateur dont la fonction du mutateur vaut `undefined`. Cela signifie que la propriété n'est accesssible qu'en lecture seule. La valeur de la propriété est définie lors de la construction de l'objet `DataView` et ne peut pas être modifiée.

Exemples
--------

### Utilisation de la propriété `byteOffset`


```js
var buffer = new ArrayBuffer(8);
var dataview = new DataView(buffer);
dataview.byteOffset; // 0 (aucun décalage)

var dataview2 = new DataView(buffer, 3);
dataview2.byteOffset; // 3 (décalage défini lors de la construction de la vue)
```

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

| Specification |
| --- |
| ECMAScript Language Specification # sec-get-dataview.prototype.byteoffset |

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

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

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

* `DataView`
* `ArrayBuffer`
* `SharedArrayBuffer`
DataView.prototype.setInt32()
=============================

La méthode **`setInt32()`** permet d'enregister un entier signé sur 32 bits (type *long* par analogie avec C) à l'octet indiqué par rapport au début de la `DataView`.

Exemple interactif
------------------

Syntaxe
-------


```js
dataview.setInt32(positionOctet, value [, littleEndian])
```

### Paramètres

`positionOctet`

La position, exprimée en numéro d'octet, à partir du début de la vue à laquelle enregistrer la donnée.

`valeur`

La valeur à enregistrer

`littleEndian`

Facultatif Indique si la donnée sur 32 bits est enregistrée dans l'ordre des octets de poids faibles. Si ce paramètre vaut `false` ou `undefined`, l'ordre sera celui des octets de poids forts.

### Valeur de retour

`undefined`.

### Erreurs renvoyées

`RangeError`

Renvoyée si `positionOctet` est tel que l'enregistrement sera fait en dehors de la vue.

Exemples
--------

### Utilisation de la méthode `setInt32`


```js
var buffer = new ArrayBuffer(8);
var dataview = new DataView(buffer);
dataview.setInt32(1, 3);
dataview.getInt32(1); // 3
```

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

| Specification |
| --- |
| ECMAScript Language Specification # sec-dataview.prototype.setint32 |

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

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

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

* `DataView`
* `ArrayBuffer`
DataView.prototype.setInt8()
============================

La méthode **`setInt8()`** permet d'enregister un entier signé sur 8 bits à l'octet indiqué par rapport au début de la `DataView`.

Exemple interactif
------------------

Syntaxe
-------


```js
dataview.setInt8(positionOctet, valeur);
```

### Paramètres

`positionOctet`

La position, exprimée en numéro d'octet, à partir du début de la vue à laquelle enregistrer la donnée.

`valeur`

La valeur à enregistrer.

### Valeur de retour

`undefined`.

### Erreurs renvoyées

`RangeError`

Renvoyée si `positionOctet` est tel que l'enregistrement sera fait en dehors de la vue.

Exemples
--------

### Utilisation de la méthode `setInt8`


```js
var buffer = new ArrayBuffer(8);
var dataview = new DataView(buffer);
dataview.setInt8(1, 3);
dataview.getInt8(1); // 3
```

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

| Specification |
| --- |
| ECMAScript Language Specification # sec-dataview.prototype.setint8 |

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

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

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

* `DataView`
* `ArrayBuffer`
Constructeur DataView()
=======================

Le constructeur **`DataView()`** permet de construire des objets `DataView`.

Exemple interactif
------------------

Syntaxe
-------


```js
new DataView(buffer);
new DataView(buffer, decalageOctets);
new DataView(buffer, decalageOctets, longueurOctets);
```

### Paramètres

`buffer`

Un objet `ArrayBuffer` ou `SharedArrayBuffer` existant à utiliser comme tampon de mémoire sur lequel portera la vue formée par le nouvel objet `DataView`.

`decalageOctets` Facultatif

Le décalage, exprimé en octets, du premier octet référencé par la vue par rapport au tampon de mémoire. Par défaut, la vue commence au premier octet du tampon de mémoire.

`longueurOctets` Facultatif

Le nombre d'éléments dans le tableau des octets de la vue. Par défaut, la longueur de la vue correspondra à celle du tampon.

### Valeur de retour

Un nouvel objet `DataView` qui fournit une vue sur le tampon de mémoire passé en argument.

Cet objet peut être vu comme un interpréteur du tableau d'octets fourni par le tampon de mémoire. Il permet de convertir les nombres afin qu'ils soient correctement écrits ou lus dans le tampon (ce qui inclut la gestion des entiers, la conversion des flottants, le boutisme, ainsi que les autres détails quant à la représentation binaire des nombres).

### Exceptions

`RangeError`

Levée si les valeurs des paramètres `decalageOctets` ou `longueurOctets` entraînent un dépassement de la vue après la fin du tampon.

Ainsi, si le tampon de mémoire mesure 16 octets, que la valeur fournie pour `decalageOctets` est 8, et que celle fournie pour `longueurOctets` est 10, cette exception sera déclenchée, car la vue résultante dépassera de deux octets la taille du tampon.

Exemples
--------

### Utiliser `DataView()`


```js
const buffer = new ArrayBuffer(16);
const view = new DataView(buffer, 0);

view.setInt16(1, 42);
view.getInt16(1); // 42
```

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

| Specification |
| --- |
| ECMAScript Language Specification # sec-dataview-constructor |

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

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

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

* Une prothèse d'émulation pour `DataView` avec la bibliothèque `core-js`
* `DataView`
DataView.prototype.getInt16()
=============================

La méthode **`getInt16()`** permet de lire un entier signé sur 16 bits (type *short* par analogie avec C) à l'octet donné par rapport au début de `DataView`.

Exemple interactif
------------------

Syntaxe
-------


```js
dataview.getInt16(positionOctet [, littleEndian])
```

### Paramètres

`positionOctet`

La position, exprimée en nombre d'octets depuis le début de la vue, à laquelle lire les données.

`littleEndian`

Facultatif indique si la valeur sur 16 bits est enregistrée dans l'ordre des octets de poids faible. Si le paramètre vaut `false` ou `undefined`, la valeur sera lue dans l'ordre des octets de poids forts.

### Valeur de retour

Un entier signé sur 16 bits.

### Erreurs renvoyées

`RangeError`

Renvoyée si `positionOctet` est tel qu'il est en dehors de la vue.

Description
-----------

Il n'y a pas de contrainte d'alignement, les valeurs codées sur plusieurs octets peuvent être obtenues depuis n'importe quelle position.

Exemples
--------

### Utilisation de la méthode `getInt16`


```js
var buffer = new ArrayBuffer(8);
var dataview = new DataView(buffer);
dataview.getInt16(1); // 0
```

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

| Specification |
| --- |
| ECMAScript Language Specification # sec-dataview.prototype.getint16 |

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

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

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

* `DataView`
* `ArrayBuffer`
DataView.prototype.setUint16()
==============================

La méthode **`setUint16()`** permet d'enregister un entier non-signé sur 16 bits (type *unsigned short* par analogie avec C) à l'octet indiqué par rapport au début de la `DataView`.

Exemple interactif
------------------

Syntaxe
-------


```js
dataview.setUint16(positionOctet, valeur [, littleEndian])
```

### Paramètres

`positionOctet`

La position, exprimée en numéro d'octet, à partir du début de la vue à laquelle enregistrer la donnée.

`valeur`

La valeur à enregistrer

`littleEndian`

Facultatif Indique si la donnée sur 32 bits est enregistrée dans l'ordre des octets de poids faibles. Si ce paramètre vaut `false` ou `undefined`, l'ordre sera celui des octets de poids forts.

### Valeur de retour

`undefined`.

### Erreurs renvoyées

`RangeError`

Renvoyée si `positionOctet` est tel que l'enregistrement sera fait en dehors de la vue.

Exemples
--------

### Utilisation de la méthode `setUint1`


```js
var buffer = new ArrayBuffer(8);
var dataview = new DataView(buffer);
dataview.setUint16(1, 3);
dataview.getUint16(1); // 3
```

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

| Specification |
| --- |
| ECMAScript Language Specification # sec-dataview.prototype.setuint16 |

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

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

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

* `DataView`
* `ArrayBuffer`
DataView.prototype.byteLength
=============================

L'accesseur **`byteLength`** est une propriété représentant la longueur, exprimée en octets, de cette vue depuis le début de l'objet `ArrayBuffer` ou `SharedArrayBuffer` correspondant.

Exemple interactif
------------------

Syntaxe
-------


```js
dataview.byteLength;
```

Description
-----------

La propriété `byteLength` est une propriété accesseur/mutateur dont le mutateur vaut `undefined`. Cela signifie que cette propriété est en lecture seule. Cette valeur est déterminée lorsque l'objet `DataView` est construit et ne peut pas être changée. Si `DataView` ne définit pas de décalage avec `byteOffset` ou ne spécifie pas `byteLength`, ce sera la `byteLength` de l'objet `ArrayBuffer` ou `SharedArrayBuffer` référencé qui sera renvoyée.

Exemples
--------

### Utilisation de la propriété `byteLength`


```js
var buffer = new ArrayBuffer(8);
var dataview = new DataView(buffer);
dataview.byteLength; // 8 (correspond au byteLength du buffer)

var dataview2 = new DataView(buffer, 1, 5);
dataview2.byteLength; // 5 (correspond à la longueur utilisée pour la définition)

var dataview3 = new DataView(buffer, 2);
dataview3.byteLength; // 6 (en raison du décalage (offset) pour la construction du DataView)
```

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

| Specification |
| --- |
| ECMAScript Language Specification # sec-get-dataview.prototype.bytelength |

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

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

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

* `DataView`
* `ArrayBuffer`
* `SharedArrayBuffer`
DataView.prototype.setUint8()
=============================

La méthode **`setUint8()`** permet d'enregister un entier non-signé sur 8 bits à l'octet indiqué par rapport au début de la `DataView`.

Exemple interactif
------------------

Syntaxe
-------


```js
dataview.setUint8(positionOctet, valeur);
```

### Paramètres

`positionOctet`

La position, exprimée en numéro d'octet, à partir du début de la vue à laquelle enregistrer la donnée.

`valeur`

La valeur à enregistrer.

### Valeur de retour

`undefined`.

### Erreurs renvoyées

`RangeError`

Renvoyée si `positionOctet` est tel que l'enregistrement sera fait en dehors de la vue.

Exemples
--------

### Utilisation de la méthode `setUint8`


```js
var buffer = new ArrayBuffer(8);
var dataview = new DataView(buffer);
dataview.setUint8(1, 3);
dataview.getUint8(1); // 3
```

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

| Specification |
| --- |
| ECMAScript Language Specification # sec-dataview.prototype.setuint8 |

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

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

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

* `DataView`
* `ArrayBuffer`
DataView.prototype.setBigInt64()
================================

La méthode **`setBigInt64()`** permet d'enregister un entier signé sur 64 bits (type *long long* par analogie avec C) à l'octet indiqué par rapport au début de la `DataView`.

Exemple interactif
------------------

Syntaxe
-------


```js
dataview.setBigInt64(positionOctet, value [, littleEndian])
```

### Paramètres

`positionOctet`

La position, exprimée en numéro d'octet, à partir du début de la vue à laquelle enregistrer la donnée.

`valeur`

La valeur à enregistrer

`littleEndian`

Facultatif Indique si la donnée sur 64 bits est enregistrée dans l'ordre des octets de poids faibles. Si ce paramètre vaut `false` ou `undefined`, l'ordre sera celui des octets de poids forts.

### Valeur de retour

`undefined`.

### Erreurs renvoyées

`RangeError`

Renvoyée si `positionOctet` est tel que l'enregistrement sera fait en dehors de la vue.

Exemples
--------

### Utilisation de la méthode `setBigInt64()`


```js
var buffer = new ArrayBuffer(8);
var dataview = new DataView(buffer);
dataview.setBigInt64(0, 3n);
dataview.getInt32(0); // 3n
```

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

| Specification |
| --- |
| ECMAScript Language Specification # sec-dataview.prototype.setbigint64 |

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

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

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

* `DataView`
* `ArrayBuffer`
* `BigInt`
DataView.prototype.setBigUint64()
=================================

La méthode **`setBigUint64()`** permet d'enregister un entier non-signé sur 64 bits (type *unsigned long long* par analogie avec C) à l'octet indiqué par rapport au début de la `DataView`.

Exemple interactif
------------------

Syntaxe
-------


```js
dataview.setBigUint64(positionOctet, value [, littleEndian])
```

### Paramètres

`positionOctet`

La position, exprimée en nombre d'octets, à partir du début de la vue à laquelle enregistrer la donnée.

`valeur`

La valeur à enregistrer

`littleEndian`

Facultatif Indique si la donnée sur 64 bits est enregistrée dans l'ordre des octets de poids faibles. Si ce paramètre vaut `false` ou `undefined`, l'ordre sera celui des octets de poids forts.

### Valeur de retour

`undefined`.

### Erreurs renvoyées

`RangeError`

Renvoyée si `positionOctet` est tel que l'enregistrement sera fait en dehors de la vue.

Exemples
--------

### Utilisation de la méthode `setBigUint64()`


```js
var buffer = new ArrayBuffer(8);
var dataview = new DataView(buffer);
dataview.setBigUint64(0, 3n);
dataview.getInt32(0); // 3n
```

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

| Specification |
| --- |
| ECMAScript Language Specification # sec-dataview.prototype.setbiguint64 |

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

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

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

* `DataView`
* `ArrayBuffer`
* `BigInt`
DataView.prototype.getInt32()
=============================

La méthode **`getInt32()`** permet de lire un entier signé sur 32 bits (type *long* par analogie avec C) à l'octet donné par rapport au début de `DataView`.

Exemple interactif
------------------

Syntaxe
-------


```js
dataview.getInt32(positionOctet [, littleEndian])
```

### Paramètres

`positionOctet`

La position, exprimée en nombre d'octets depuis le début de la vue, à laquelle lire les données.

`littleEndian`

Facultatif indique si la valeur sur 32 bits est enregistrée dans l'ordre des octets de poids faible. Si le paramètre vaut `false` ou `undefined`, la valeur sera lue dans l'ordre des octets de poids forts.

### Valeur de retour

Un entier signé sur 32 bits.

### Erreurs renvoyées

`RangeError`

Renvoyée si `positionOctet` est tel qu'il est en dehors de la vue.

Description
-----------

Il n'y a pas de contrainte d'alignement, les valeurs codées sur plusieurs octets peuvent être obtenues depuis n'importe quelle position.

Exemples
--------

### Utilisation de la méthode `getInt32`


```js
var buffer = new ArrayBuffer(8);
var dataview = new DataView(buffer);
dataview.getInt32(1); // 0
```

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

| Specification |
| --- |
| ECMAScript Language Specification # sec-dataview.prototype.getint32 |

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

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

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

* `DataView`
* `ArrayBuffer`
DataView.prototype.getInt8()
============================

La méthode **`getInt8()`** permet de lire un entier signé sur 8 bits à l'octet donné par rapport au début de `DataView`.

Exemple interactif
------------------

Syntaxe
-------


```js
dataview.getInt8(positionOctet);
```

### Paramètres

`positionOctet`

La position, exprimée en nombre d'octets depuis le début de la vue, à laquelle lire les données.

### Valeur de retour

Un entier signé sur 8 bits.

### Erreurs renvoyées

`RangeError`

Renvoyée si `positionOctet` est tel qu'il est en dehors de la vue.

Description
-----------

Il n'y a pas de contrainte d'alignement, les valeurs codées sur plusieurs octets peuvent être obtenues depuis n'importe quelle position.

Exemples
--------

### Utilisation de la méthode `getInt8`


```js
var buffer = new ArrayBuffer(8);
var dataview = new DataView(buffer);
dataview.getInt8(1); // 0
```

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

| Specification |
| --- |
| ECMAScript Language Specification # sec-dataview.prototype.getint8 |

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

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

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

* `DataView`
* `ArrayBuffer`
DataView.prototype.setUint32()
==============================

La méthode **`setUint32()`** permet d'enregister un entier non-signé sur 32 bits (type *unsigned long* par analogie avec C) à l'octet indiqué par rapport au début de la `DataView`.

Exemple interactif
------------------

Syntaxe
-------


```js
dataview.setUint32(positionOctet, valeur [, littleEndian])
```

### Paramètres

`positionOctet`

La position, exprimée en numéro d'octet, à partir du début de la vue à laquelle enregistrer la donnée.

`valeur`

La valeur à enregistrer

`littleEndian`

Facultatif Indique si la donnée sur 32 bits est enregistrée dans l'ordre des octets de poids faibles. Si ce paramètre vaut `false` ou `undefined`, l'ordre sera celui des octets de poids forts.

### Valeur de retour

`undefined`.

### Erreurs renvoyées

`RangeError`

Renvoyée si `positionOctet` est tel que l'enregistrement sera fait en dehors de la vue.

Exemples
--------

### Utilisation de la méthode `setUint32`


```js
var buffer = new ArrayBuffer(8);
var dataview = new DataView(buffer);
dataview.setUint32(1, 3);
dataview.getUint32(1); // 3
```

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

| Specification |
| --- |
| ECMAScript Language Specification # sec-dataview.prototype.setuint32 |

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

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

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

* `DataView`
* `ArrayBuffer`
Constructeur InternalError()
============================

**Non standard:** Cette fonctionnalité n'est ni standard, ni en voie de standardisation. Ne l'utilisez pas pour des sites accessibles sur le Web : elle ne fonctionnera pas pour tout utilisateur. Il peut également y avoir d'importantes incompatibilités entre les implémentations et son comportement peut être modifié dans le futur.

Le constructeur **`InternalError()`** permet de créer une erreur qui s'est produite à l'intérieur du moteur JavaScript, comme « **InternalError**: too much recursion ».

Syntaxe
-------


```js
new InternalError();
new InternalError(message);
new InternalError(message, nomFichier);
new InternalError(message, nomFichier, numeroLigne);
```

### Paramètres

`message` Facultatif

Une description de l'erreur, compréhensible par un humain.

`nomFichier` Facultatif

Le nom du fichier qui a déclenché l'exception.

`numeroLigne` Facultatif

Le numéro de la ligne du code qui a déclenché l'exception.

Exemples
--------

### Créer une nouvelle exception `InternalError`


```js
new InternalError("Échec du moteur");
```

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

Ne fait partie d'aucun standard.

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

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

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

* `Error`
WeakRef.prototype.deref()
=========================

La méthode `deref` renvoie l'objet cible associé à l'objet `WeakRef` courant ou `undefined` si l'objet cible a été récupéré par le ramasse-miettes.

Syntaxe
-------


```js
deref();
```

### Valeur de retour

L'objet cible associé à l'objet `WeakRef`, ou `undefined` dans le cas où l'objet a été récupéré par le ramasse-miettes.

Notes
-----

Voir les notes sur la page `WeakRef` pour des notes importantes.

Exemples
--------

### Utiliser deref()

Voir la section Exemples de la page `WeakRef` pour un exemple complet.


```js
const tick = () => {
  // Récupérer l'élément de la référence faible s'il existe encore
  const element = this.ref.deref();
  if (element) {
    element.textContent = ++this.count;
  } else {
    // Alors l'élément n'existe plus
    console.log("L'élément n'est plus.");
    this.stop();
    this.ref = null;
  }
};
```

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

| Specification |
| --- |
| ECMAScript Language Specification # sec-weak-ref.prototype.deref |

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

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

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

* `WeakRef`