SharedArrayBuffer.prototype.slice()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since December 2021.

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().

Exemple interactif

// Create a SharedArrayBuffer with a size in bytes
const buffer = new SharedArrayBuffer(16);
const int32View = new Int32Array(buffer); // Create the view
// Produces Int32Array [0, 0, 0, 0]

int32View[1] = 42;
const sliced = new Int32Array(buffer.slice(4, 12));

console.log(sliced);
// Expected output: Int32Array [42, 0]

Syntaxe

js
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

js
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

Specification
ECMAScript® 2025 Language Specification
# sec-sharedarraybuffer.prototype.slice

Compatibilité des navigateurs

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
slice

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support

Voir aussi