| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/fr/docs/WebAssembly/Reference/JavaScript_interface/Table/set | [Back] [Original] |
Get to know MDN better
Cette page a t traduite partir de l'anglais par la communaut. Vous pouvez contribuer en rejoignant la communaut francophone sur MDN Web Docs.
Cette fonctionnalit est bien tablie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis octobre 2017.
La mthode set() de l'objet WebAssembly.Table permet de modifier une rfrence stocke un index donn par une valeur diffrente.
set(index, value)
indexL'index de la rfrence de la fonction qu'on souhaite modifier.
valueLa valeur par laquelle on souhaite remplacer la rfrence. Cette valeur doit tre une valeur du type d'lment du tableau. Selon le type, il peut s'agir d'une fonction WebAssembly exporte, d'une enveloppe JavaScript pour une fonction Wasm sous-jacente, ou d'une rfrence hte.
Aucune (undefined).
index est suprieur ou gal Table.prototype.length, une exception RangeError est leve.value n'est pas du type d'lment du tableau, une exception TypeError est leve.set()L'exemple suivant (voir table2.html code source (angl.) et version en direct (angl.)) cre une nouvelle instance de tableau WebAssembly avec une taille initiale de deux rfrences. Nous affichons ensuite la longueur du tableau et le contenu des deux index (ces valeurs sont obtenues l'aide de Table.prototype.get()) pour montrer que la longueur est de deux, et que les index ne contiennent actuellement aucune rfrence de fonction (ils retournent actuellement null).
const tbl = new WebAssembly.Table({ initial: 2, element: "anyfunc" });
console.log(tbl.length);
console.log(tbl.get(0));
console.log(tbl.get(1));
Nous crons ensuite un objet d'importation qui contient une rfrence au tableau :
const importObj = {
js: { tbl },
};
Enfin, nous chargeons et instancions un module Wasm (table2.wasm) en utilisant WebAssembly.instantiateStreaming(), affichons la longueur du tableau, et invoquons les deux fonctions rfrences qui sont maintenant stockes dans le tableau. Le module table2.wasm ajoute deux rfrences de fonction au tableau, qui affichent chacune une valeur simple (voir reprsentation textuelle (angl.)) :
WebAssembly.instantiateStreaming(fetch("table2.wasm"), importObject).then(
(obj) => {
console.log(tbl.length);
console.log(tbl.get(0)());
console.log(tbl.get(1)());
},
);
Notez qu'il faut inclure un second oprateur d'appel de fonction la fin de l'accesseur pour rellement invoquer la fonction rfrence et afficher la valeur stocke l'intrieur (par exemple, get(0)() plutt que get(0)).
Cet exemple montre que nous crons et accdons au tableau depuis JavaScript, mais que le mme tableau est visible et appelable l'intrieur de l'instance Wasm aussi.
| Spcification |
|---|
| WebAssembly JavaScript Interface # dom-table-set |
Cette page a t modifie le 17 avr. 2026 par les contributeurices du MDN.
Certaines parties de ce contenu sont protges par le droit d'auteur 19982026 des contributeurs individuels de mozilla.org. Contenu disponible sous une licence Creative Commons.
| Web Proxy Viewer | New URL | Original Page |