diff --git a/src/libraries/System.Private.Runtime.InteropServices.JavaScript/src/System/Runtime/InteropServices/JavaScript/SharedArrayBuffer.cs b/src/libraries/System.Private.Runtime.InteropServices.JavaScript/src/System/Runtime/InteropServices/JavaScript/SharedArrayBuffer.cs
index 256313aaf7134..463c81c714739 100644
--- a/src/libraries/System.Private.Runtime.InteropServices.JavaScript/src/System/Runtime/InteropServices/JavaScript/SharedArrayBuffer.cs
+++ b/src/libraries/System.Private.Runtime.InteropServices.JavaScript/src/System/Runtime/InteropServices/JavaScript/SharedArrayBuffer.cs
@@ -23,6 +23,21 @@ internal SharedArrayBuffer(IntPtr jsHandle, bool ownsHandle) : base(jsHandle, ow
/// The size, in bytes, of the array.
public int ByteLength => (int)GetObjectProperty("byteLength");
+ ///
+ /// Returns a new JavaScript Core SharedArrayBuffer whose contents are a copy of this SharedArrayBuffer's bytes.
+ ///
+ /// a new JavaScript Core SharedArrayBuffer
+ public SharedArrayBuffer Slice() => (SharedArrayBuffer)Invoke("slice");
+
+ ///
+ /// Returns a new JavaScript Core SharedArrayBuffer whose contents are a copy of this SharedArrayBuffer's bytes from begin,
+ /// inclusive, through to the end of the sequence, exclusive. If begin is negative, it refers to an index from the end
+ /// of the array, as opposed to from the beginning.
+ ///
+ /// a new JavaScript Core SharedArrayBuffer
+ /// Beginning index of copy zero based.
+ public SharedArrayBuffer Slice(int begin) => (SharedArrayBuffer)Invoke("slice", begin);
+
///
/// Returns a new JavaScript Core SharedArrayBuffer whose contents are a copy of this SharedArrayBuffer's bytes from begin,
/// inclusive, up to end, exclusive. If either begin or end is negative, it refers to an index from the end
diff --git a/src/libraries/System.Private.Runtime.InteropServices.JavaScript/tests/System.Private.Runtime.InteropServices.JavaScript.Tests.csproj b/src/libraries/System.Private.Runtime.InteropServices.JavaScript/tests/System.Private.Runtime.InteropServices.JavaScript.Tests.csproj
index 444b70c047928..11dec891deeeb 100644
--- a/src/libraries/System.Private.Runtime.InteropServices.JavaScript/tests/System.Private.Runtime.InteropServices.JavaScript.Tests.csproj
+++ b/src/libraries/System.Private.Runtime.InteropServices.JavaScript/tests/System.Private.Runtime.InteropServices.JavaScript.Tests.csproj
@@ -8,6 +8,7 @@
+
@@ -18,4 +19,4 @@
-
\ No newline at end of file
+
diff --git a/src/libraries/System.Private.Runtime.InteropServices.JavaScript/tests/System/Runtime/InteropServices/JavaScript/SharedArrayBufferTests.cs b/src/libraries/System.Private.Runtime.InteropServices.JavaScript/tests/System/Runtime/InteropServices/JavaScript/SharedArrayBufferTests.cs
new file mode 100644
index 0000000000000..78bd3841d4dc4
--- /dev/null
+++ b/src/libraries/System.Private.Runtime.InteropServices.JavaScript/tests/System/Runtime/InteropServices/JavaScript/SharedArrayBufferTests.cs
@@ -0,0 +1,156 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+
+using System.Collections.Generic;
+using Xunit;
+
+namespace System.Runtime.InteropServices.JavaScript.Tests
+{
+ public static class SharedArrayBufferTests
+ {
+ private static Function _objectPrototype;
+
+ public static IEnumerable