Movatterモバイル変換


[0]ホーム

URL:


  1. WebAssembly
  2. Références
  3. WebAssembly
  4. WebAssembly.Global

Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in EnglishAlways switch to English

WebAssembly.Global

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 ⁨mars 2020⁩.

Un objetWebAssembly.Global représente une instance d'une variable globale, accessible depuis le code JavaScript et importable/exportable pour un ou plusieurs modules WebAssembly (WebAssembly.Module). Cela permet de lier dynamiquement plusieurs modules.

Constructeur

WebAssembly.Global()

Crée un nouvel objetGlobal.

InstancesGlobal

Toutes les instances deGlobal héritent du prototype du constructeurGlobal(), ce dernier peut être modifié afin de modifier le comportement de l'ensemble des instancesGlobal.

Propriétés des instances

Global.prototype.constructor

Renvoie la fonction qui a créé cette instance d'objet. Par défaut, c'est le constructeurWebAssembly.Global().

Global.prototype[@@toStringTag]

La valeur initiale de la propriété@@toStringTag est la chaîne de caractères"WebAssembly.Global".

Global.prototype.value

La valeur contenue au sein de la variable globale. Elle peut être utilisée pour récupérer ou modifier la valeur de la variable globale.

Méthodes des instances

Global.prototype.valueOf()

Une méthode ancienne qui renvoie la valeur contenue au sein de la variable globale.

Exemples

Créer une nouvelle instanceGlobal

Dans l'exemple suivant, on montre comment créer une nouvelle instance globale grâce au constructeurWebAssembly.Global(). Cette instance globale est définie avec le typei32 et est indiquée comme modifiable. Sa valeur initiale est0.

On change ensuite la valeur de la variable globale en la passant à42 grâce à la propriétéGlobal.value puis en la passant à43 grâce à la fonctionincGlobal() qui a été exportée depuis le moduleglobal.wasm (cette fonction ajoute1 à n'imorte quelle valeur puis renvoie cette nouvelle valeur).

js
const output = document.getElementById("output");function assertEq(msg, res, attendu) {  output.innerHTML += `Test ${msg} : `;  if (res !== attendu)    output.innerHTML += `ÉCHEC !<br>Résultat : ${res}<br>Attendu : ${attendu}<br>`;  else output.innerHTML += `SUCCÈS ! Résultat : ${res}<br>`;}assertEq(  "Existence de WebAssembly.Global",  typeof WebAssembly.Global,  "function",);const global = new WebAssembly.Global({ value: "i32", mutable: true }, 0);WebAssembly.instantiateStreaming(fetch("global.wasm"), { js: { global } }).then(  ({ instance }) => {    assertEq(      "Obtention de la valeur initiale depuis wasm",      instance.exports.getGlobal(),      0,    );    global.value = 42;    assertEq(      "Obtention de la valeur mise à jour en JS depuis wasm",      instance.exports.getGlobal(),      42,    );    instance.exports.incGlobal();    assertEq(      "Obtention de la valeur mise à jour côté wasm en JS",      global.value,      43,    );  },);

Spécifications

Specification
WebAssembly JavaScript Interface
# globals

Compatibilité des navigateurs

Voir aussi

Help improve MDN

Learn how to contribute

Cette page a été modifiée le par lescontributeurs du MDN.


[8]ページ先頭

©2009-2025 Movatter.jp