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.
Le constructeur WebAssembly.Memory() permet de créer un nouvel objet Memory dont la propriété buffer est un tableau tampon ArrayBuffer redimensionnable ou un SharedArrayBuffer contenant les octets bruts de mémoire à laquelle accède une Instance WebAssembly.
Une mémoire créée par du code JavaScript ou WebAssembly sera accessible et modifiable depuis JavaScript ou WebAssembly.
Un objet contenant les propriétés suivantes :
initialLa taille initiale de la mémoire WebAssembly Memory, exprimée en nombre de pages WebAssembly.
maximum FacultatifLa taille maximale que peut atteindre la mémoire WebAssembly, exprimée en nombre de pages WebAssembly. Lorsque ce paramètre est présent, il peut être utilisé comme indication par le moteur afin de réserver la mémoire d'avance. Toutefois, le moteur pourra ignorer cette réservation ou l'effectuer avec une taille moindre. Les mémoires WebAssembly qui ne sont pas partagées n'ont pas besoin de définir une propriété maximum, en revanche, c'est une propriété nécessaire pour les mémoires partagées.
shared FacultatifUne valeur booléenne qui définit si la mémoire est partagée ou non. Si elle vaut true, il s'agira d'une mémoire partagée. La valeur par défaut est false.
Note : Une page WebAssembly mesure une taille constante de 65 536 octets, soit 64Ko.
Il existe deux façons d'obtenir un objet WebAssembly.Memory. La première consiste à la construire depuis du code JavaScript. Dans l'exemple qui suit, on crée une nouvelle instance d'un objet Memory WebAssembly avec une taille initiale de 10 pages (640Ko) et une taille maximale de 100 pages (6,4Mo). Sa propriété buffer renverra un objet ArrayBuffer.
La deuxième méthode pour obtenir un objet WebAssembly.Memory consiste à l'exporter depuis un module WebAssembly. Dans l'exemple suivant (voir memory.html sur GitHub pour le code source, ainsi que la démonstration correspondante), on récupère et on instancie le bytecode chargé memory.wasm avec la méthode WebAssembly.instantiateStreaming() tout en important la mémoire créée à la ligne précédente. On stocke ensuite certaines valeurs dans cette mémoire et on exporte une fonction qu'on utilise pour additionner certaines des valeurs.
Par défaut, les mémoires WebAssembly ne sont pas partagées. On peut créer une mémoire partagée en passant shared: true dans l'objet d'initialisation du constructeur :
La propriété buffer de l'objet mémoire correspondant renverra alors un objet SharedArrayBuffer.
| WebAssembly JavaScript Interface # dom-memory-memory |
Activez JavaScript pour afficher ce tableau de compatibilité des navigateurs.
Cette page a été modifiée le 7 sept. 2025 par les contributeur·ice·s du MDN.
Votre modèle pour un internet meilleur.
Visitez la société mère à but non lucratif de Mozilla Corporation, la Fondation Mozilla.
Certaines parties de ce contenu sont protégées par le droit d'auteur ©1998—2026 des contributeurs individuels de mozilla.org. Contenu disponible sous une licence Creative Commons.