SharedArrayBuffer.prototype.slice()

La méthode SharedArrayBuffer.prototype.slice() renvoie un nouvel objet SharedArrayBuffer dont le contenu est une copie des octets de l'objet SharedArrayBuffer courant entre un indice de début (inclus) et un indice de fin (exclus) (autrement dit, on copie une « tranche » du tampon courant). Si l'indice de début ou de fin est négatif, la position sera comptée à partir de la fin du tableau plutôt qu'à partir du début. L'algorithme appliqué est le même que Array.prototype.slice().

Syntaxe

sab.slice()
sab.slice(début)
sab.slice(début, fin)

Paramètres

début Facultatif

L'indice auquel commencer l'extraction (le début du tableau se situe à l'indice 0).

Si la valeur est négative, début indique le décalage à partir de la fin du tableau. Ainsi slice(-2) permettra d'extraire les deux derniers éléments du tableau.

Si début est absent, slice commencera l'extraction à partir de l'indice 0.

fin Facultatif

L'indice auquel finir l'extraction. Attention, la valeur du tableau pour cet indice n'est pas incluse dans l'extraction.

Ainsi, slice(1,4) permettra d'extraire entre le deuxième et le quatrième élément (c'est-à-dire les trois éléments dont les indices sont respectivement 1, 2 et 3).

Si fin est un indice négatif, il indique le décalage à partir de la fin du tableau. Autrement dit slice(2,-1) permettra d'extraire les éléments du tampon à partir du troisième élément et jusqu'à l'avant-avant-dernier élément.

Si fin est absent, slice réalisera l'extraction jusqu'à la fin de la séquence (sab.byteLength).

Valeur de retour

Un nouvel objet SharedArrayBuffer qui contient les éléments extraits.

Exemples

var sab = new SharedArrayBuffer(1024);
sab.slice();    // SharedArrayBuffer { byteLength: 1024 }
sab.slice(2);   // SharedArrayBuffer { byteLength: 1022 }
sab.slice(-2);  // SharedArrayBuffer { byteLength: 2 }
sab.slice(0,1); // SharedArrayBuffer { byteLength: 1 }

Spécifications

Spécification État Commentaires
ECMAScript Latest Draft (ECMA-262)
La définition de 'SharedArrayBuffer.prototype.slice' dans cette spécification.
Projet Définition initiale avec ES2017.

Compatibilité des navigateurs

Fonctionnalité Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari
Support simple Pas de support Pas de support 55 (55)[1] Pas de support Pas de support Pas de support
Fonctionnalité Android Chrome pour Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Support simple Pas de support Pas de support 55.0 (55)[1] Pas de support Pas de support Pas de support

[1] Activée par défaut à partir de Firefox 55. À partir de Firefox 46 et jusqu'à la version 54, cette fonctionnalité était désactivée par défaut via une préférence : javascript.options.shared_memory qu'il fallait mettre à true pour l'activer.

Voir aussi

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : SphinxKnight
 Dernière mise à jour par : SphinxKnight,