From 844f5103992238c0c23203286dad16a466e89c97 Mon Sep 17 00:00:00 2001 From: julieng Date: Tue, 3 Aug 2021 08:03:09 +0200 Subject: move *.html to *.md --- .../webassembly/table/get/index.html | 84 ------------- .../global_objects/webassembly/table/get/index.md | 84 +++++++++++++ .../webassembly/table/grow/index.html | 80 ------------ .../global_objects/webassembly/table/grow/index.md | 80 ++++++++++++ .../global_objects/webassembly/table/index.html | 134 --------------------- .../global_objects/webassembly/table/index.md | 134 +++++++++++++++++++++ .../webassembly/table/length/index.html | 65 ---------- .../webassembly/table/length/index.md | 65 ++++++++++ .../webassembly/table/set/index.html | 102 ---------------- .../global_objects/webassembly/table/set/index.md | 102 ++++++++++++++++ 10 files changed, 465 insertions(+), 465 deletions(-) delete mode 100644 files/fr/web/javascript/reference/global_objects/webassembly/table/get/index.html create mode 100644 files/fr/web/javascript/reference/global_objects/webassembly/table/get/index.md delete mode 100644 files/fr/web/javascript/reference/global_objects/webassembly/table/grow/index.html create mode 100644 files/fr/web/javascript/reference/global_objects/webassembly/table/grow/index.md delete mode 100644 files/fr/web/javascript/reference/global_objects/webassembly/table/index.html create mode 100644 files/fr/web/javascript/reference/global_objects/webassembly/table/index.md delete mode 100644 files/fr/web/javascript/reference/global_objects/webassembly/table/length/index.html create mode 100644 files/fr/web/javascript/reference/global_objects/webassembly/table/length/index.md delete mode 100644 files/fr/web/javascript/reference/global_objects/webassembly/table/set/index.html create mode 100644 files/fr/web/javascript/reference/global_objects/webassembly/table/set/index.md (limited to 'files/fr/web/javascript/reference/global_objects/webassembly/table') diff --git a/files/fr/web/javascript/reference/global_objects/webassembly/table/get/index.html b/files/fr/web/javascript/reference/global_objects/webassembly/table/get/index.html deleted file mode 100644 index 717a8d70e1..0000000000 --- a/files/fr/web/javascript/reference/global_objects/webassembly/table/get/index.html +++ /dev/null @@ -1,84 +0,0 @@ ---- -title: WebAssembly.Table.prototype.get() -slug: Web/JavaScript/Reference/Global_Objects/WebAssembly/Table/get -tags: - - API - - JavaScript - - Méthode - - Reference - - WebAssembly - - table -translation_of: Web/JavaScript/Reference/Global_Objects/WebAssembly/Table/get -original_slug: Web/JavaScript/Reference/Objets_globaux/WebAssembly/Table/get ---- -
{{JSRef}}
- -

La méthode get(), rattachéee au prototype de  {{jsxref("WebAssembly.Table()")}}, permet de récupérer une référence à une fonction stockée dans le tableau WebAssembly grâce à sa position. dans le tableau.

- -

Syntaxe

- -
var funcRef = table.get(index);
-
- -

Paramètres

- -
-
index
-
L'index de la référence de fonction qu'on souhaite récupérer.
-
- -

Valeur de retour

- -

Une référence de fonction, c'est-à-dire une fonction WebAssembly exportée qui est une enveloppe JavaScript pour manipuler la fonction WebAssembly sous-jacente.

- -

Exceptions

- -

Si index est supérieur ou égal à {{jsxref("WebAssembly/Table/length","Table.prototype.length")}}, la méthode lèvera une exception {{jsxref("RangeError")}}.

- -

Exemples

- -

Dans l'exemple suivant (cf. le fichier table.html sur GitHub ainsi que le résultat obtenu), on compile et on instancie le bytecode chargé, table.wasm, grâce à la méthode {{jsxref("WebAssembly.instantiateStreaming()")}}. On récupère ensuite les références stockées dans le tableau d'export.

- -
WebAssembly.instantiateStreaming(fetch('table.wasm'))
-.then(function(obj) {
-  var tbl = obj.instance.exports.tbl;
-  console.log(tbl.get(0)());  // 13
-  console.log(tbl.get(1)());  // 42
-});
- -

On note ici qu'il est nécessaire d'avoir un deuxième opérateur d'appel après l'accesseur pour récupérer le valeur stockée dans la référence (autrement dit, on utilise get(0)() plutôt que get(0)). La valeur exportée est une fonction plutôt qu'une valeur simple.

- -

Spécifications

- - - - - - - - - - - - - - - - -
SpécificationÉtatCommentaires
{{SpecName('WebAssembly JS', '#webassemblytableprototypeget', 'get()')}}{{Spec2('WebAssembly JS')}}Brouillon de définition initial pour WebAssembly.
- -

Compatibilité des navigateurs

- -
- - -

{{Compat("javascript.builtins.WebAssembly.Table.get")}}

-
- -

Voir aussi

- - diff --git a/files/fr/web/javascript/reference/global_objects/webassembly/table/get/index.md b/files/fr/web/javascript/reference/global_objects/webassembly/table/get/index.md new file mode 100644 index 0000000000..717a8d70e1 --- /dev/null +++ b/files/fr/web/javascript/reference/global_objects/webassembly/table/get/index.md @@ -0,0 +1,84 @@ +--- +title: WebAssembly.Table.prototype.get() +slug: Web/JavaScript/Reference/Global_Objects/WebAssembly/Table/get +tags: + - API + - JavaScript + - Méthode + - Reference + - WebAssembly + - table +translation_of: Web/JavaScript/Reference/Global_Objects/WebAssembly/Table/get +original_slug: Web/JavaScript/Reference/Objets_globaux/WebAssembly/Table/get +--- +
{{JSRef}}
+ +

La méthode get(), rattachéee au prototype de  {{jsxref("WebAssembly.Table()")}}, permet de récupérer une référence à une fonction stockée dans le tableau WebAssembly grâce à sa position. dans le tableau.

+ +

Syntaxe

+ +
var funcRef = table.get(index);
+
+ +

Paramètres

+ +
+
index
+
L'index de la référence de fonction qu'on souhaite récupérer.
+
+ +

Valeur de retour

+ +

Une référence de fonction, c'est-à-dire une fonction WebAssembly exportée qui est une enveloppe JavaScript pour manipuler la fonction WebAssembly sous-jacente.

+ +

Exceptions

+ +

Si index est supérieur ou égal à {{jsxref("WebAssembly/Table/length","Table.prototype.length")}}, la méthode lèvera une exception {{jsxref("RangeError")}}.

+ +

Exemples

+ +

Dans l'exemple suivant (cf. le fichier table.html sur GitHub ainsi que le résultat obtenu), on compile et on instancie le bytecode chargé, table.wasm, grâce à la méthode {{jsxref("WebAssembly.instantiateStreaming()")}}. On récupère ensuite les références stockées dans le tableau d'export.

+ +
WebAssembly.instantiateStreaming(fetch('table.wasm'))
+.then(function(obj) {
+  var tbl = obj.instance.exports.tbl;
+  console.log(tbl.get(0)());  // 13
+  console.log(tbl.get(1)());  // 42
+});
+ +

On note ici qu'il est nécessaire d'avoir un deuxième opérateur d'appel après l'accesseur pour récupérer le valeur stockée dans la référence (autrement dit, on utilise get(0)() plutôt que get(0)). La valeur exportée est une fonction plutôt qu'une valeur simple.

+ +

Spécifications

+ + + + + + + + + + + + + + + + +
SpécificationÉtatCommentaires
{{SpecName('WebAssembly JS', '#webassemblytableprototypeget', 'get()')}}{{Spec2('WebAssembly JS')}}Brouillon de définition initial pour WebAssembly.
+ +

Compatibilité des navigateurs

+ +
+ + +

{{Compat("javascript.builtins.WebAssembly.Table.get")}}

+
+ +

Voir aussi

+ + diff --git a/files/fr/web/javascript/reference/global_objects/webassembly/table/grow/index.html b/files/fr/web/javascript/reference/global_objects/webassembly/table/grow/index.html deleted file mode 100644 index d5356522b6..0000000000 --- a/files/fr/web/javascript/reference/global_objects/webassembly/table/grow/index.html +++ /dev/null @@ -1,80 +0,0 @@ ---- -title: WebAssembly.Table.prototype.grow() -slug: Web/JavaScript/Reference/Global_Objects/WebAssembly/Table/grow -tags: - - API - - JavaScript - - Méthode - - Reference - - WebAssembly - - table -translation_of: Web/JavaScript/Reference/Global_Objects/WebAssembly/Table/grow -original_slug: Web/JavaScript/Reference/Objets_globaux/WebAssembly/Table/grow ---- -
{{JSRef}}
- -

La méthode grow(), rattachée au prototype de {{jsxref("WebAssembly.Table")}}, permet d'augmenter la taille du tableau WebAssembly d'un nombre d'éléments donné.

- -

Syntaxe

- -
table.grow(nombre);
-
- -

Paramètres

- -
-
nombre
-
Le nombre d'éléments qu'on souhaite ajouter au tableau.
-
- -

Valeur de retour

- -

La taille du tableau avant l'agrandissement.

- -

Exceptions

- -

Si l'opération grow() échoue, pour quelque raison que ce soit, une exception {{jsxref("RangeError")}} sera levée.

- -

Exemples

- -

Dans l'exemple qui suit, on crée une instance de Table pour représenter un tableau WebAssembly avec une taille initiale de 2 et une taille maximale de 10.

- -
var table = new WebAssembly.Table({ element: "anyfunc", initial: 2, maximum: 10 });
- -

On étend ensuite le tableau d'une unité en utilisant la méthode grow() :

- -
console.log(table.length);   // "2"
-console.log(table.grow(1));  // "2"
-console.log(table.length);   // "3"
-
- -

Spécifications

- - - - - - - - - - - - - - - - -
SpécificationÉtatCommentaires
{{SpecName('WebAssembly JS', '#webassemblytableprototypegrow', 'grow()')}}{{Spec2('WebAssembly JS')}}Brouillon de définition initiale pour WebAssembly.
- -

Compatibilité des navigateurs

- -

{{Compat("javascript.builtins.WebAssembly.Table.grow")}}

- -

Voir aussi

- - diff --git a/files/fr/web/javascript/reference/global_objects/webassembly/table/grow/index.md b/files/fr/web/javascript/reference/global_objects/webassembly/table/grow/index.md new file mode 100644 index 0000000000..d5356522b6 --- /dev/null +++ b/files/fr/web/javascript/reference/global_objects/webassembly/table/grow/index.md @@ -0,0 +1,80 @@ +--- +title: WebAssembly.Table.prototype.grow() +slug: Web/JavaScript/Reference/Global_Objects/WebAssembly/Table/grow +tags: + - API + - JavaScript + - Méthode + - Reference + - WebAssembly + - table +translation_of: Web/JavaScript/Reference/Global_Objects/WebAssembly/Table/grow +original_slug: Web/JavaScript/Reference/Objets_globaux/WebAssembly/Table/grow +--- +
{{JSRef}}
+ +

La méthode grow(), rattachée au prototype de {{jsxref("WebAssembly.Table")}}, permet d'augmenter la taille du tableau WebAssembly d'un nombre d'éléments donné.

+ +

Syntaxe

+ +
table.grow(nombre);
+
+ +

Paramètres

+ +
+
nombre
+
Le nombre d'éléments qu'on souhaite ajouter au tableau.
+
+ +

Valeur de retour

+ +

La taille du tableau avant l'agrandissement.

+ +

Exceptions

+ +

Si l'opération grow() échoue, pour quelque raison que ce soit, une exception {{jsxref("RangeError")}} sera levée.

+ +

Exemples

+ +

Dans l'exemple qui suit, on crée une instance de Table pour représenter un tableau WebAssembly avec une taille initiale de 2 et une taille maximale de 10.

+ +
var table = new WebAssembly.Table({ element: "anyfunc", initial: 2, maximum: 10 });
+ +

On étend ensuite le tableau d'une unité en utilisant la méthode grow() :

+ +
console.log(table.length);   // "2"
+console.log(table.grow(1));  // "2"
+console.log(table.length);   // "3"
+
+ +

Spécifications

+ + + + + + + + + + + + + + + + +
SpécificationÉtatCommentaires
{{SpecName('WebAssembly JS', '#webassemblytableprototypegrow', 'grow()')}}{{Spec2('WebAssembly JS')}}Brouillon de définition initiale pour WebAssembly.
+ +

Compatibilité des navigateurs

+ +

{{Compat("javascript.builtins.WebAssembly.Table.grow")}}

+ +

Voir aussi

+ + diff --git a/files/fr/web/javascript/reference/global_objects/webassembly/table/index.html b/files/fr/web/javascript/reference/global_objects/webassembly/table/index.html deleted file mode 100644 index 27df06ebb6..0000000000 --- a/files/fr/web/javascript/reference/global_objects/webassembly/table/index.html +++ /dev/null @@ -1,134 +0,0 @@ ---- -title: WebAssembly.Table() -slug: Web/JavaScript/Reference/Global_Objects/WebAssembly/Table -tags: - - API - - Constructeur - - JavaScript - - Reference - - WebAssembly - - table -translation_of: Web/JavaScript/Reference/Global_Objects/WebAssembly/Table -original_slug: Web/JavaScript/Reference/Objets_globaux/WebAssembly/Table ---- -
{{JSRef}}
- -

Le constructeur WebAssembly.Table() permet de créer un nouvel objet Table.

- -

Cet objet est une enveloppe JavaScript qui représente un tableau WebAssembly et qui contient des références à des fonctions. Un tableau créé en JavaScript ou dans du code WebAssembly sera accessible et modifiable depuis du code JavaScript et depuis du code WebAssembly.

- -
-

Note : Actuellement, les tableaux WebAssembly peuvent uniquement stocker des références à des fonctions. Cette fonctionnalité sera vraisemblablement étendue par la suite.

-
- -

Syntaxe

- -
var monTableau = new WebAssembly.Table(descripteurTableau);
- -

Paramètres

- -
-
descripteurTableau
-
Un objet composé des propriétés qui suivent : -
-
element
-
Une chaîne de caractères qui représente le type de référence enregistrée dans le tableau. Actuellement, la seule valeur possible est "anyfunc" (pour indiquer des fonctions).
-
initial
-
La longueur initiale du tableau WebAssembly. Cela correspond au nombre d'éléments contenus dans le tableau.
-
maximum {{optional_inline}}
-
La taille maximale que pourra avoir tableau WebAssembly s'il est étendu.
-
-
-
- -

Exceptions

- - - -

Instances de Table

- -

Toutes les instances Table héritent des propriétés du prototype du constructeur Table(). Ce dernier peut être utilisé afin de modifier l'ensemble des instances Table.

- -

Propriétés

- -
-
Table.prototype.constructor
-
Renvoie la fonction qui a créé l'instance. Par défaut, c'est le constructeur {{jsxref("WebAssembly.Table()")}}.
-
{{jsxref("WebAssembly/Table/length","Table.prototype.length")}}
-
Renvoie la longueur du tableau, c'est-à-dire le nombre de références qui sont enregistrées dans le tableau.
-
- -

Méthodes

- -
-
{{jsxref("WebAssembly/Table/get","Table.prototype.get()")}}
-
Une fonction d'accès qui permet d'obtenir l'élément du tableau situé à une position donnée.
-
{{jsxref("WebAssembly/Table/grow","Table.prototype.grow()")}}
-
Cette méthode permet d'augmenter la taille du tableau Table d'un incrément donné.
-
{{jsxref("WebAssembly/Table/set","Table.prototype.set()")}}
-
Cette méthode permet de modifier un élément du tableau situé à une position donnée.
-
- -

Exemples

- -

Dans l'exemple qui suit (tiré du fichier table2.html et qui dispose d'une démonstration), on crée une nouvelle instance d'un tableau WebAssembly avec une taille initiale permettant de stocker 2 références. Ensuite, on imprime la longueur du tableau et le contenu des deux éléments (obtenus grâce à la méthode {{jsxref("WebAssembly/Table/get", "Table.prototype.get()")}} afin de montrer que la longueur vaut 2 et que le tableau ne contient encore aucune référence de fonction (pour les deux positions, on a la valeur {{jsxref("null")}}).

- -
var tbl = new WebAssembly.Table({initial:2, element:"anyfunc"});
-console.log(tbl.length);
-console.log(tbl.get(0));
-console.log(tbl.get(1));
- -

Ensuite, on crée un objet d'import qui contient une référence au tableau :

- -
var importObj = {
-  js: {
-    tbl:tbl
-  }
-};
- -

Enfin, on charge et on instancie un module WebAssembly (table2.wasm) grâce à la fonction {{jsxref("WebAssembly.instantiateStreaming()")}}. Le module table2.wasm a ajouté deux références de fonctions (cf. sa représentation textuelle). Chacune de ces fonctions fournit une valeur simple :

- -
WebAssembly.instantiateStreaming(fetch('table2.wasm'), importObject)
-.then(function(obj) {
-  console.log(tbl.length);   // "2"
-  console.log(tbl.get(0)()); // "42"
-  console.log(tbl.get(1)()); // "83"
-});
- -

On voit ici qu'il faut d'abord récupérer la fonction puis effectuer une invocation pour obtenir la valeur correspondante à partir de l'accesseur (autrement dit, on écrit get(0)() plutôt que get(0) pour obtenir le résultat de la fonction) .

- -

Dans cet exemple, on voit comment créer et manipuler le tableau depuis du code JavaScript mais ce même tableau est également accessible depuis l'instance WebAssembly.

- -

Spécifications

- - - - - - - - - - - - - - - - -
SpécificationÉtatCommentaires
{{SpecName('WebAssembly JS', '#webassemblytable-objects', 'Table')}}{{Spec2('WebAssembly JS')}}Brouillon de définition initial pour WebAssembly.
- -

Compatibilité des navigateurs

- -

{{Compat("javascript.builtins.WebAssembly.Table")}}

- -

Voir aussi

- - diff --git a/files/fr/web/javascript/reference/global_objects/webassembly/table/index.md b/files/fr/web/javascript/reference/global_objects/webassembly/table/index.md new file mode 100644 index 0000000000..27df06ebb6 --- /dev/null +++ b/files/fr/web/javascript/reference/global_objects/webassembly/table/index.md @@ -0,0 +1,134 @@ +--- +title: WebAssembly.Table() +slug: Web/JavaScript/Reference/Global_Objects/WebAssembly/Table +tags: + - API + - Constructeur + - JavaScript + - Reference + - WebAssembly + - table +translation_of: Web/JavaScript/Reference/Global_Objects/WebAssembly/Table +original_slug: Web/JavaScript/Reference/Objets_globaux/WebAssembly/Table +--- +
{{JSRef}}
+ +

Le constructeur WebAssembly.Table() permet de créer un nouvel objet Table.

+ +

Cet objet est une enveloppe JavaScript qui représente un tableau WebAssembly et qui contient des références à des fonctions. Un tableau créé en JavaScript ou dans du code WebAssembly sera accessible et modifiable depuis du code JavaScript et depuis du code WebAssembly.

+ +
+

Note : Actuellement, les tableaux WebAssembly peuvent uniquement stocker des références à des fonctions. Cette fonctionnalité sera vraisemblablement étendue par la suite.

+
+ +

Syntaxe

+ +
var monTableau = new WebAssembly.Table(descripteurTableau);
+ +

Paramètres

+ +
+
descripteurTableau
+
Un objet composé des propriétés qui suivent : +
+
element
+
Une chaîne de caractères qui représente le type de référence enregistrée dans le tableau. Actuellement, la seule valeur possible est "anyfunc" (pour indiquer des fonctions).
+
initial
+
La longueur initiale du tableau WebAssembly. Cela correspond au nombre d'éléments contenus dans le tableau.
+
maximum {{optional_inline}}
+
La taille maximale que pourra avoir tableau WebAssembly s'il est étendu.
+
+
+
+ +

Exceptions

+ + + +

Instances de Table

+ +

Toutes les instances Table héritent des propriétés du prototype du constructeur Table(). Ce dernier peut être utilisé afin de modifier l'ensemble des instances Table.

+ +

Propriétés

+ +
+
Table.prototype.constructor
+
Renvoie la fonction qui a créé l'instance. Par défaut, c'est le constructeur {{jsxref("WebAssembly.Table()")}}.
+
{{jsxref("WebAssembly/Table/length","Table.prototype.length")}}
+
Renvoie la longueur du tableau, c'est-à-dire le nombre de références qui sont enregistrées dans le tableau.
+
+ +

Méthodes

+ +
+
{{jsxref("WebAssembly/Table/get","Table.prototype.get()")}}
+
Une fonction d'accès qui permet d'obtenir l'élément du tableau situé à une position donnée.
+
{{jsxref("WebAssembly/Table/grow","Table.prototype.grow()")}}
+
Cette méthode permet d'augmenter la taille du tableau Table d'un incrément donné.
+
{{jsxref("WebAssembly/Table/set","Table.prototype.set()")}}
+
Cette méthode permet de modifier un élément du tableau situé à une position donnée.
+
+ +

Exemples

+ +

Dans l'exemple qui suit (tiré du fichier table2.html et qui dispose d'une démonstration), on crée une nouvelle instance d'un tableau WebAssembly avec une taille initiale permettant de stocker 2 références. Ensuite, on imprime la longueur du tableau et le contenu des deux éléments (obtenus grâce à la méthode {{jsxref("WebAssembly/Table/get", "Table.prototype.get()")}} afin de montrer que la longueur vaut 2 et que le tableau ne contient encore aucune référence de fonction (pour les deux positions, on a la valeur {{jsxref("null")}}).

+ +
var tbl = new WebAssembly.Table({initial:2, element:"anyfunc"});
+console.log(tbl.length);
+console.log(tbl.get(0));
+console.log(tbl.get(1));
+ +

Ensuite, on crée un objet d'import qui contient une référence au tableau :

+ +
var importObj = {
+  js: {
+    tbl:tbl
+  }
+};
+ +

Enfin, on charge et on instancie un module WebAssembly (table2.wasm) grâce à la fonction {{jsxref("WebAssembly.instantiateStreaming()")}}. Le module table2.wasm a ajouté deux références de fonctions (cf. sa représentation textuelle). Chacune de ces fonctions fournit une valeur simple :

+ +
WebAssembly.instantiateStreaming(fetch('table2.wasm'), importObject)
+.then(function(obj) {
+  console.log(tbl.length);   // "2"
+  console.log(tbl.get(0)()); // "42"
+  console.log(tbl.get(1)()); // "83"
+});
+ +

On voit ici qu'il faut d'abord récupérer la fonction puis effectuer une invocation pour obtenir la valeur correspondante à partir de l'accesseur (autrement dit, on écrit get(0)() plutôt que get(0) pour obtenir le résultat de la fonction) .

+ +

Dans cet exemple, on voit comment créer et manipuler le tableau depuis du code JavaScript mais ce même tableau est également accessible depuis l'instance WebAssembly.

+ +

Spécifications

+ + + + + + + + + + + + + + + + +
SpécificationÉtatCommentaires
{{SpecName('WebAssembly JS', '#webassemblytable-objects', 'Table')}}{{Spec2('WebAssembly JS')}}Brouillon de définition initial pour WebAssembly.
+ +

Compatibilité des navigateurs

+ +

{{Compat("javascript.builtins.WebAssembly.Table")}}

+ +

Voir aussi

+ + diff --git a/files/fr/web/javascript/reference/global_objects/webassembly/table/length/index.html b/files/fr/web/javascript/reference/global_objects/webassembly/table/length/index.html deleted file mode 100644 index 878447d1e1..0000000000 --- a/files/fr/web/javascript/reference/global_objects/webassembly/table/length/index.html +++ /dev/null @@ -1,65 +0,0 @@ ---- -title: WebAssembly.Table.prototype.length -slug: Web/JavaScript/Reference/Global_Objects/WebAssembly/Table/length -tags: - - API - - JavaScript - - Propriété - - Reference - - WebAssembly - - table -translation_of: Web/JavaScript/Reference/Global_Objects/WebAssembly/Table/length -original_slug: Web/JavaScript/Reference/Objets_globaux/WebAssembly/Table/length ---- -
{{JSRef}}
- -

La propriété length, rattachée au prototype de l'objet {{jsxref("WebAssembly.Table")}}, renvoie la longueur du tableau WebAssembly, c'est-à-dire le nombre d'éléments qui y sont stockées.

- -

Syntaxe

- -
table.length;
-
- -

Exemples

- -

Avec l'instruction qui suit, on crée un tableau WebAssembly avec une taille initiale de 2 éléments et avec une taille maximale de 10.

- -
var table = new WebAssembly.Table({ element: "anyfunc", initial: 2, maximum: 10 });
- -

On peut ensuite étendre le tableau d'un élément :

- -
console.log(table.length);   // "2"
-console.log(table.grow(1));  // "2"
-console.log(table.length);   // "3"
-
- -

Spécifications

- - - - - - - - - - - - - - - - -
SpécificationÉtatCommentaires
{{SpecName('WebAssembly JS', '#webassemblytableprototypelength', 'length')}}{{Spec2('WebAssembly JS')}}Brouillon de définition initiale pour WebAssembly.
- -

Compatibilité des navigateurs

- -

{{Compat("javascript.builtins.WebAssembly.Table.length")}}

- -

Voir aussi

- - diff --git a/files/fr/web/javascript/reference/global_objects/webassembly/table/length/index.md b/files/fr/web/javascript/reference/global_objects/webassembly/table/length/index.md new file mode 100644 index 0000000000..878447d1e1 --- /dev/null +++ b/files/fr/web/javascript/reference/global_objects/webassembly/table/length/index.md @@ -0,0 +1,65 @@ +--- +title: WebAssembly.Table.prototype.length +slug: Web/JavaScript/Reference/Global_Objects/WebAssembly/Table/length +tags: + - API + - JavaScript + - Propriété + - Reference + - WebAssembly + - table +translation_of: Web/JavaScript/Reference/Global_Objects/WebAssembly/Table/length +original_slug: Web/JavaScript/Reference/Objets_globaux/WebAssembly/Table/length +--- +
{{JSRef}}
+ +

La propriété length, rattachée au prototype de l'objet {{jsxref("WebAssembly.Table")}}, renvoie la longueur du tableau WebAssembly, c'est-à-dire le nombre d'éléments qui y sont stockées.

+ +

Syntaxe

+ +
table.length;
+
+ +

Exemples

+ +

Avec l'instruction qui suit, on crée un tableau WebAssembly avec une taille initiale de 2 éléments et avec une taille maximale de 10.

+ +
var table = new WebAssembly.Table({ element: "anyfunc", initial: 2, maximum: 10 });
+ +

On peut ensuite étendre le tableau d'un élément :

+ +
console.log(table.length);   // "2"
+console.log(table.grow(1));  // "2"
+console.log(table.length);   // "3"
+
+ +

Spécifications

+ + + + + + + + + + + + + + + + +
SpécificationÉtatCommentaires
{{SpecName('WebAssembly JS', '#webassemblytableprototypelength', 'length')}}{{Spec2('WebAssembly JS')}}Brouillon de définition initiale pour WebAssembly.
+ +

Compatibilité des navigateurs

+ +

{{Compat("javascript.builtins.WebAssembly.Table.length")}}

+ +

Voir aussi

+ + diff --git a/files/fr/web/javascript/reference/global_objects/webassembly/table/set/index.html b/files/fr/web/javascript/reference/global_objects/webassembly/table/set/index.html deleted file mode 100644 index 5413168f5e..0000000000 --- a/files/fr/web/javascript/reference/global_objects/webassembly/table/set/index.html +++ /dev/null @@ -1,102 +0,0 @@ ---- -title: WebAssembly.Table.prototype.set() -slug: Web/JavaScript/Reference/Global_Objects/WebAssembly/Table/set -tags: - - API - - JavaScript - - Méthode - - Reference - - WebAssembly - - table -translation_of: Web/JavaScript/Reference/Global_Objects/WebAssembly/Table/set -original_slug: Web/JavaScript/Reference/Objets_globaux/WebAssembly/Table/set ---- -
{{JSRef}}
- -

La méthode set(), rattachée au prototype de {{jsxref("WebAssembly.Table")}}, permet de modifier une référence de fonction stockée dans un tableau WebAssembly.

- -

Syntaxe

- -
table.set(index, valeur);
-
- -

Paramètres

- -
-
index
-
L'index de la référence de la fonction qu'on souhaite modifier.
-
valeur
-
La valeur par laquelle on souhaite remplacer la référence. Cette valeur doit être une fonction exportée WebAssembly (c'est-à-dire une enveloppe JavaScript représentant une fonction WebAssembly sous-jacente).
-
- -

Valeur de retour

- -

Aucune.

- -

Exceptions

- - - -

Exemples

- -

Dans l'exemple qui suit (basé sur le code source de table2.html et qui dispose d'une démonstration), on crée ue nouvelle instance d'un tableau WebAssembly (Table) qui permet initialement de stocker 2 référence. On imprime alors la longueur du tableau dans la console ainsi que le contenu pour les deux premiers index (obtenus grâce à la méthode {{jsxref("WebAssembly/Table/get","Table.prototype.get()")}}) afin de montrer qu la longueur vaut 2 et qu'initialement, les deux éléments du tableau ne contiennent aucune référence (ils ont tous les deux la valeur {{jsxref("null")}}).

- -
var tbl = new WebAssembly.Table({initial:2, element:"anyfunc"});
-console.log(tbl.length);
-console.log(tbl.get(0));
-console.log(tbl.get(1));
- -

On crée ensuite un objet d'import qui contient une référence au tableau :

- -
var importObj = {
-  js: {
-    tbl:tbl
-  }
-};
- -

Enfin, on charge et on instancie le module WebAssembly (table2.wasm) grâce à la méthode {{jsxref("WebAssembly.instantiateStreaming()")}}, on logge la longueur du tableau et on appelle les deux fonctions référencées qui sont désormais dans le tableau (le module table2.wasm (cf. la représentation textuelle) ajoute deux références de fonctions au tableau et chacune affiche une valeur simple) :

- -
WebAssembly.instantiateStreaming(fetch('table2.wasm'), importObject)
-.then(function(obj) {
-  console.log(tbl.length);
-  console.log(tbl.get(0)());
-  console.log(tbl.get(1)());
-});
- -

On voit ici qu'il faut appeler la fonction après avoir appeler l'opérateur sur l'accesseur (autrement dit, on écrit get(0)() plutôt que get(0)) .

- -

Dans cet exemple, on montre comment créer et manipuler un tableau en JavaScript mais ce tableau est également accessible et manipulable depuis l'instance WebAssembly.

- -

Spécifications

- - - - - - - - - - - - - - - - -
SpécificationÉtatCommentaires
{{SpecName('WebAssembly JS', '#webassemblytableprototypeset', 'set()')}}{{Spec2('WebAssembly JS')}}Brouillon de définition initiale pour WebAssembly.
- -

Compatibilité des navigateurs

- -

{{Compat("javascript.builtins.WebAssembly.Table.set")}}

- -

Voir aussi

- - diff --git a/files/fr/web/javascript/reference/global_objects/webassembly/table/set/index.md b/files/fr/web/javascript/reference/global_objects/webassembly/table/set/index.md new file mode 100644 index 0000000000..5413168f5e --- /dev/null +++ b/files/fr/web/javascript/reference/global_objects/webassembly/table/set/index.md @@ -0,0 +1,102 @@ +--- +title: WebAssembly.Table.prototype.set() +slug: Web/JavaScript/Reference/Global_Objects/WebAssembly/Table/set +tags: + - API + - JavaScript + - Méthode + - Reference + - WebAssembly + - table +translation_of: Web/JavaScript/Reference/Global_Objects/WebAssembly/Table/set +original_slug: Web/JavaScript/Reference/Objets_globaux/WebAssembly/Table/set +--- +
{{JSRef}}
+ +

La méthode set(), rattachée au prototype de {{jsxref("WebAssembly.Table")}}, permet de modifier une référence de fonction stockée dans un tableau WebAssembly.

+ +

Syntaxe

+ +
table.set(index, valeur);
+
+ +

Paramètres

+ +
+
index
+
L'index de la référence de la fonction qu'on souhaite modifier.
+
valeur
+
La valeur par laquelle on souhaite remplacer la référence. Cette valeur doit être une fonction exportée WebAssembly (c'est-à-dire une enveloppe JavaScript représentant une fonction WebAssembly sous-jacente).
+
+ +

Valeur de retour

+ +

Aucune.

+ +

Exceptions

+ + + +

Exemples

+ +

Dans l'exemple qui suit (basé sur le code source de table2.html et qui dispose d'une démonstration), on crée ue nouvelle instance d'un tableau WebAssembly (Table) qui permet initialement de stocker 2 référence. On imprime alors la longueur du tableau dans la console ainsi que le contenu pour les deux premiers index (obtenus grâce à la méthode {{jsxref("WebAssembly/Table/get","Table.prototype.get()")}}) afin de montrer qu la longueur vaut 2 et qu'initialement, les deux éléments du tableau ne contiennent aucune référence (ils ont tous les deux la valeur {{jsxref("null")}}).

+ +
var tbl = new WebAssembly.Table({initial:2, element:"anyfunc"});
+console.log(tbl.length);
+console.log(tbl.get(0));
+console.log(tbl.get(1));
+ +

On crée ensuite un objet d'import qui contient une référence au tableau :

+ +
var importObj = {
+  js: {
+    tbl:tbl
+  }
+};
+ +

Enfin, on charge et on instancie le module WebAssembly (table2.wasm) grâce à la méthode {{jsxref("WebAssembly.instantiateStreaming()")}}, on logge la longueur du tableau et on appelle les deux fonctions référencées qui sont désormais dans le tableau (le module table2.wasm (cf. la représentation textuelle) ajoute deux références de fonctions au tableau et chacune affiche une valeur simple) :

+ +
WebAssembly.instantiateStreaming(fetch('table2.wasm'), importObject)
+.then(function(obj) {
+  console.log(tbl.length);
+  console.log(tbl.get(0)());
+  console.log(tbl.get(1)());
+});
+ +

On voit ici qu'il faut appeler la fonction après avoir appeler l'opérateur sur l'accesseur (autrement dit, on écrit get(0)() plutôt que get(0)) .

+ +

Dans cet exemple, on montre comment créer et manipuler un tableau en JavaScript mais ce tableau est également accessible et manipulable depuis l'instance WebAssembly.

+ +

Spécifications

+ + + + + + + + + + + + + + + + +
SpécificationÉtatCommentaires
{{SpecName('WebAssembly JS', '#webassemblytableprototypeset', 'set()')}}{{Spec2('WebAssembly JS')}}Brouillon de définition initiale pour WebAssembly.
+ +

Compatibilité des navigateurs

+ +

{{Compat("javascript.builtins.WebAssembly.Table.set")}}

+ +

Voir aussi

+ + -- cgit v1.2.3-54-g00ecf