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

Update compatibility data on GitHub
OrdinateurMobileServeur
ChromeEdgeFirefoxInternet ExplorerOperaSafariWebview AndroidChrome pour AndroidEdge MobileFirefox pour AndroidOpera pour AndroidSafari pour iOSSamsung InternetNode.js
Support simpleChrome Support complet 68
Support complet 68
Aucun support 60 — 63
Notes
Notes Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This was a temporary removal while mitigations were put in place.
Edge Support complet 16
Notes
Support complet 16
Notes
Notes Support was removed to mitigate speculative execution side-channel attacks (Windows blog).
Firefox Support complet 57
Notes Désactivée
Support complet 57
Notes Désactivée
Notes Support was disabled by default to mitigate speculative execution side-channel attacks (Mozilla Security Blog).
Désactivée From version 57: this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Aucun support 55 — 57
Aucun support 46 — 55
Désactivée
Désactivée From version 46 until version 55 (exclusive): this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE Aucun support NonOpera Aucun support NonSafari Aucun support 10.1 — ?WebView Android Aucun support 60 — 63
Notes
Aucun support 60 — 63
Notes
Notes Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This is intended as a temporary measure until other mitigations are in place.
Chrome Android Aucun support 60 — 63
Notes
Aucun support 60 — 63
Notes
Notes Chrome disabled SharedArrayBuffer on January 5, 2018 to help reduce the efficacy of speculative side-channel attacks. This is intended as a temporary measure until other mitigations are in place.
Edge Mobile ? Firefox Android Support complet 57
Notes Désactivée
Support complet 57
Notes Désactivée
Notes Support was disabled by default to mitigate speculative execution side-channel attacks (Mozilla Security Blog).
Désactivée From version 57: this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Aucun support 55 — 57
Aucun support 46 — 55
Désactivée
Désactivée From version 46 until version 55 (exclusive): this feature is behind the javascript.options.shared_memory preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android Aucun support NonSafari iOS Aucun support NonSamsung Internet Android Aucun support Nonnodejs Support complet 8.10.0

Légende

Support complet  
Support complet
Aucun support  
Aucun support
Compatibilité inconnue  
Compatibilité inconnue
Voir les notes d'implémentation.
Voir les notes d'implémentation.
Une action explicite de l'utilisateur est nécessaire pour activer cette fonctionnalité.
Une action explicite de l'utilisateur est nécessaire pour activer cette fonctionnalité.

Voir aussi

Étiquettes et contributeurs liés au document

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