Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.
DataView
Baseline Widely available *
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.
* Certaines parties de cette fonctionnalité peuvent bénéficier de prise en charge variables.
La vueDataView fournit une interface de bas niveau pour lire et écrire des données de différents types numériques dans un objetArrayBuffer, quel que soit le« boutisme » (endianness en anglais) de la plateforme.
Dans cet article
Description
>Boutisme
Les formats numériques sur plusieurs octets sont représentés différemment en mémoire selon l'architecture de la machine (voirla page du glossaire sur le boutisme pour plus d'explications). Les accesseursDataView permettent de contrôler explicitement la façon dont se fait l'accès aux données, quel que soit le boutisme de l'ordinateur.
const littleEndian = (() => { const buffer = new ArrayBuffer(2); new DataView(buffer).setInt16(0, 256, true /* littleEndian */); // Int16Array utilise le boutisme de la plateforme return new Int16Array(buffer)[0] === 256;})();console.log(littleEndian); // true ou falseNote :Par défaut,DataView lit et écrit en grand-boutiste (big-endian en anglais), mais la plupart des plateformes utilisent le format petit-boutiste (little-endian en anglais).
Constructeur
DataView()Crée un nouvel objet
DataView.
Propriétés d'instances
Ces propriétés sont définies surDataView.prototype et partagées par toutes les instances deDataView.
DataView.prototype.bufferRetourne l'objet
ArrayBufferréférencé par laDataView.DataView.prototype.byteLengthRetourne la longueur (en octets) du
DataView.DataView.prototype.byteOffsetRetourne le décalage (en octets) du
DataViewdepuis le début de son objetArrayBuffer.DataView.prototype.constructorLa fonction constructeur qui a créé l'objet d'instance. Pour les instances de
DataView, la valeur initiale est le constructeurDataView.DataView.prototype[Symbol.toStringTag]La valeur initiale de la propriété
[Symbol.toStringTag]est la chaîne de caractères"DataView". Cette propriété est utilisée dansObject.prototype.toString().
Méthodes d'instances
DataView.prototype.getBigInt64()Lit 8 octets à partir de l'encart d'octet défini de cette
DataViewet les interprète comme un entier signé sur 64 bits.DataView.prototype.getBigUint64()Lit 8 octets à partir de l'encart d'octet défini de cette
DataViewet les interprète comme un entier non-signé sur 64 bits.DataView.prototype.getFloat16()Lit 2 octets à partir de l'encart d'octet défini de cette
DataViewet les interprète comme un nombre flottant sur 16 bits.DataView.prototype.getFloat32()Lit 4 octets à partir de l'encart d'octet défini de cette
DataViewet les interprète comme un nombre flottant sur 32 bits.DataView.prototype.getFloat64()Lit 8 octets à partir de l'encart d'octet défini de cette
DataViewet les interprète comme un nombre flottant sur 64 bits.DataView.prototype.getInt16()Lit 2 octets à partir de l'encart d'octet défini de cette
DataViewet les interprète comme un entier signé sur 16 bits.DataView.prototype.getInt32()Lit 4 octets à partir de l'encart d'octet défini de cette
DataViewet les interprète comme un entier signé sur 32 bits.DataView.prototype.getInt8()Lit 1 octet à l'encart d'octet défini de cette
DataViewet l'interprète comme un entier signé sur 8 bits.DataView.prototype.getUint16()Lit 2 octets à partir de l'encart d'octet défini de cette
DataViewet les interprète comme un entier non-signé sur 16 bits.DataView.prototype.getUint32()Lit 4 octets à partir de l'encart d'octet défini de cette
DataViewet les interprète comme un entier non-signé sur 32 bits.DataView.prototype.getUint8()Lit 1 octet à l'encart d'octet défini de cette
DataViewet l'interprète comme un entier non-signé sur 8 bits.DataView.prototype.setBigInt64()Prend un
BigIntet l'enregistre comme un entier signé sur 64 bits dans les 8 octets à partir de l'encart d'octet défini de cetteDataView.DataView.prototype.setBigUint64()Prend un
BigIntet l'enregistre comme un entier non-signé sur 64 bits dans les 8 octets à partir de l'encart d'octet défini de cetteDataView.DataView.prototype.setFloat16()Prend un nombre et l'enregistre comme un flottant sur 16 bits dans les 2 octets à partir de l'encart d'octet défini de cette
DataView.DataView.prototype.setFloat32()Prend un nombre et l'enregistre comme un flottant sur 32 bits dans les 4 octets à partir de l'encart d'octet défini de cette
DataView.DataView.prototype.setFloat64()Prend un nombre et l'enregistre comme un flottant sur 64 bits dans les 8 octets à partir de l'encart d'octet défini de cette
DataView.DataView.prototype.setInt16()Prend un nombre et l'enregistre comme un entier signé sur 16 bits dans les 2 octets à l'encart d'octet défini de cette
DataView.DataView.prototype.setInt32()Prend un nombre et l'enregistre comme un entier signé sur 32 bits dans les 4 octets à l'encart d'octet défini de cette
DataView.DataView.prototype.setInt8()Prend un nombre et l'enregistre comme un entier signé sur 8 bits dans l'octet à l'encart d'octet défini de cette
DataView.DataView.prototype.setUint16()Prend un nombre et l'enregistre comme un entier non-signé sur 16 bits dans les 2 octets à l'encart d'octet défini de cette
DataView.DataView.prototype.setUint32()Prend un nombre et l'enregistre comme un entier non-signé sur 32 bits dans les 4 octets à l'encart d'octet défini de cette
DataView.DataView.prototype.setUint8()Prend un nombre et l'enregistre comme un entier non-signé sur 8 bits dans l'octet à l'encart d'octet défini de cette
DataView.
Exemples
>UtiliserDataView
const buffer = new ArrayBuffer(16);const view = new DataView(buffer, 0);view.setInt16(1, 42);view.getInt16(1); // 42Spécifications
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-dataview-objects> |