CINXE.COM

TypedArray - JavaScript | MDN

<!doctype html><html lang="en-US" prefix="og: https://ogp.me/ns#"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1"/><link rel="icon" href="https://developer.mozilla.org/favicon-48x48.bc390275e955dacb2e65.png"/><link rel="apple-touch-icon" href="https://developer.mozilla.org/apple-touch-icon.528534bba673c38049c2.png"/><meta name="theme-color" content="#ffffff"/><link rel="manifest" href="https://developer.mozilla.org/manifest.f42880861b394dd4dc9b.json"/><link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="MDN Web Docs"/><title>TypedArray - JavaScript | MDN</title><link rel="alternate" title="TypedArray" href="https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/TypedArray" hrefLang="de"/><link rel="alternate" title="TypedArray" href="https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/TypedArray" hrefLang="es"/><link rel="alternate" title="TypedArray" href="https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray" hrefLang="fr"/><link rel="alternate" title="TypedArray" href="https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/TypedArray" hrefLang="ja"/><link rel="alternate" title="TypedArray" href="https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/TypedArray" hrefLang="ko"/><link rel="alternate" title="TypedArray" href="https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/TypedArray" hrefLang="ru"/><link rel="alternate" title="TypedArray" href="https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/TypedArray" hrefLang="zh"/><link rel="alternate" title="TypedArray" href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray" hrefLang="en"/><link rel="preload" as="font" type="font/woff2" href="/static/media/Inter.var.c2fe3cb2b7c746f7966a.woff2" crossorigin=""/><link rel="alternate" type="application/rss+xml" title="MDN Blog RSS Feed" href="https://developer.mozilla.org/en-US/blog/rss.xml" hrefLang="en"/><meta name="description" content="A TypedArray object describes an array-like view of an underlying binary data buffer. There is no global property named TypedArray, nor is there a directly visible TypedArray constructor. Instead, there are a number of different global properties, whose values are typed array constructors for specific element types, listed below. On the following pages you will find common properties and methods that can be used with any typed array containing elements of any type."/><meta property="og:url" content="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray"/><meta property="og:title" content="TypedArray - JavaScript | MDN"/><meta property="og:type" content="website"/><meta property="og:locale" content="en_US"/><meta property="og:description" content="A TypedArray object describes an array-like view of an underlying binary data buffer. There is no global property named TypedArray, nor is there a directly visible TypedArray constructor. Instead, there are a number of different global properties, whose values are typed array constructors for specific element types, listed below. On the following pages you will find common properties and methods that can be used with any typed array containing elements of any type."/><meta property="og:image" content="https://developer.mozilla.org/mdn-social-share.d893525a4fb5fb1f67a2.png"/><meta property="og:image:type" content="image/png"/><meta property="og:image:height" content="1080"/><meta property="og:image:width" content="1920"/><meta property="og:image:alt" content="The MDN Web Docs logo, featuring a blue accent color, displayed on a solid black background."/><meta property="og:site_name" content="MDN Web Docs"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:creator" content="MozDevNet"/><link rel="canonical" href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray"/><style media="print">.article-actions-container,.document-toc-container,.language-menu,.main-menu-toggle,.on-github,.page-footer,.place,.sidebar,.top-banner,.top-navigation-main,ul.prev-next{display:none!important}.main-page-content,.main-page-content pre{padding:2px}.main-page-content pre{border-left-width:2px}</style><script src="/static/js/gtag.js" defer=""></script><script defer="" src="/static/js/main.5e889624.js"></script><link href="/static/css/main.26c64ea7.css" rel="stylesheet"/></head><body><script>if(document.body.addEventListener("load",(t=>{t.target.classList.contains("interactive")&&t.target.setAttribute("data-readystate","complete")}),{capture:!0}),window&&document.documentElement){const t={light:"#ffffff",dark:"#1b1b1b"};try{const e=window.localStorage.getItem("theme");e&&(document.documentElement.className=e,document.documentElement.style.backgroundColor=t[e]);const o=window.localStorage.getItem("nop");o&&(document.documentElement.dataset.nop=o)}catch(t){console.warn("Unable to read theme from localStorage",t)}}</script><div id="root"><ul id="nav-access" class="a11y-nav"><li><a id="skip-main" href="#content">Skip to main content</a></li><li><a id="skip-search" href="#top-nav-search-input">Skip to search</a></li><li><a id="skip-select-language" href="#languages-switcher-button">Skip to select language</a></li></ul><div class="page-wrapper category-javascript document-page"><div class="top-banner loading"><section class="place top container"></section></div><div class="sticky-header-container"><header class="top-navigation "><div class="container "><div class="top-navigation-wrap"><a href="/en-US/" class="logo" aria-label="MDN homepage"><svg id="mdn-docs-logo" xmlns="http://www.w3.org/2000/svg" x="0" y="0" viewBox="0 0 694.9 104.4" style="enable-background:new 0 0 694.9 104.4" xml:space="preserve" role="img"><title>MDN Web Docs</title><path d="M40.3 0 11.7 92.1H0L28.5 0h11.8zm10.4 0v92.1H40.3V0h10.4zM91 0 62.5 92.1H50.8L79.3 0H91zm10.4 0v92.1H91V0h10.4z" class="logo-m"></path><path d="M627.9 95.6h67v8.8h-67v-8.8z" class="logo-_"></path><path d="M367 42h-4l-10.7 30.8h-5.5l-10.8-26h-.4l-10.5 26h-5.2L308.7 42h-3.8v-5.6H323V42h-6.5l6.8 20.4h.4l10.3-26h4.7l11.2 26h.5l5.7-20.3h-6.2v-5.6H367V42zm34.9 20c-.4 3.2-2 5.9-4.7 8.2-2.8 2.3-6.5 3.4-11.3 3.4-5.4 0-9.7-1.6-13.1-4.7-3.3-3.2-5-7.7-5-13.7 0-5.7 1.6-10.3 4.7-14s7.4-5.5 12.9-5.5c5.1 0 9.1 1.6 11.9 4.7s4.3 6.9 4.3 11.3c0 1.5-.2 3-.5 4.7h-25.6c.3 7.7 4 11.6 10.9 11.6 2.9 0 5.1-.7 6.5-2 1.5-1.4 2.5-3 3-4.9l6 .9zM394 51.3c.2-2.4-.4-4.7-1.8-6.9s-3.8-3.3-7-3.3c-3.1 0-5.3 1-6.9 3-1.5 2-2.5 4.4-2.8 7.2H394zm51 2.4c0 5-1.3 9.5-4 13.7s-6.9 6.2-12.7 6.2c-6 0-10.3-2.2-12.7-6.7-.1.4-.2 1.4-.4 2.9s-.3 2.5-.4 2.9h-7.3c.3-1.7.6-3.5.8-5.3.3-1.8.4-3.7.4-5.5V22.3h-6v-5.6H416v27c1.1-2.2 2.7-4.1 4.7-5.7 2-1.6 4.8-2.4 8.4-2.4 4.6 0 8.4 1.6 11.4 4.7 3 3.2 4.5 7.6 4.5 13.4zm-7.7.6c0-4.2-1-7.4-3-9.5-2-2.2-4.4-3.3-7.4-3.3-3.4 0-6 1.2-8 3.7-1.9 2.4-2.9 5-3 7.7V57c0 3 1 5.6 3 7.7s4.5 3.1 7.6 3.1c3.6 0 6.3-1.3 8.1-3.9 1.8-2.7 2.7-5.9 2.7-9.6zm69.2 18.5h-13.2v-7.2c-1.2 2.2-2.8 4.1-4.9 5.6-2.1 1.6-4.8 2.4-8.3 2.4-4.8 0-8.7-1.6-11.6-4.9-2.9-3.2-4.3-7.7-4.3-13.3 0-5 1.3-9.6 4-13.7 2.6-4.1 6.9-6.2 12.8-6.2 5.7 0 9.8 2.2 12.3 6.5V22.3h-8.6v-5.6h15.8v50.6h6v5.5zM493.2 56v-4.4c-.1-3-1.2-5.5-3.2-7.3s-4.4-2.8-7.2-2.8c-3.6 0-6.3 1.3-8.2 3.9-1.9 2.6-2.8 5.8-2.8 9.6 0 4.1 1 7.3 3 9.5s4.5 3.3 7.4 3.3c3.2 0 5.8-1.3 7.8-3.8 2.1-2.6 3.1-5.3 3.2-8zm53.1-1.4c0 5.6-1.8 10.2-5.3 13.7s-8.2 5.3-13.9 5.3-10.1-1.7-13.4-5.1c-3.3-3.4-5-7.9-5-13.5 0-5.3 1.6-9.9 4.7-13.7 3.2-3.8 7.9-5.7 14.2-5.7s11 1.9 14.1 5.7c3 3.7 4.6 8.1 4.6 13.3zm-7.7-.2c0-4-1-7.2-3-9.5s-4.8-3.5-8.2-3.5c-3.6 0-6.4 1.2-8.3 3.7s-2.9 5.6-2.9 9.5c0 3.7.9 6.8 2.8 9.4 1.9 2.6 4.6 3.9 8.3 3.9 3.6 0 6.4-1.3 8.4-3.8 1.9-2.6 2.9-5.8 2.9-9.7zm45 5.8c-.4 3.2-1.9 6.3-4.4 9.1-2.5 2.9-6.4 4.3-11.8 4.3-5.2 0-9.4-1.6-12.6-4.8-3.2-3.2-4.8-7.7-4.8-13.7 0-5.5 1.6-10.1 4.7-13.9 3.2-3.8 7.6-5.7 13.2-5.7 2.3 0 4.6.3 6.7.8 2.2.5 4.2 1.5 6.2 2.9l1.5 9.5-5.9.7-1.3-6.1c-2.1-1.2-4.5-1.8-7.2-1.8-3.5 0-6.1 1.2-7.7 3.7-1.7 2.5-2.5 5.7-2.5 9.6 0 4.1.9 7.3 2.7 9.5 1.8 2.3 4.4 3.4 7.8 3.4 5.2 0 8.2-2.9 9.2-8.8l6.2 1.3zm34.7 1.9c0 3.6-1.5 6.5-4.6 8.5s-7 3-11.7 3c-5.7 0-10.6-1.2-14.6-3.6l1.2-8.8 5.7.6-.2 4.7c1.1.5 2.3.9 3.6 1.1s2.6.3 3.9.3c2.4 0 4.5-.4 6.5-1.3 1.9-.9 2.9-2.2 2.9-4.1 0-1.8-.8-3.1-2.3-3.8s-3.5-1.3-5.8-1.7-4.6-.9-6.9-1.4c-2.3-.6-4.2-1.6-5.7-2.9-1.6-1.4-2.3-3.5-2.3-6.3 0-4.1 1.5-6.9 4.6-8.5s6.4-2.4 9.9-2.4c2.6 0 5 .3 7.2.9 2.2.6 4.3 1.4 6.1 2.4l.8 8.8-5.8.7-.8-5.7c-2.3-1-4.7-1.6-7.2-1.6-2.1 0-3.7.4-5.1 1.1-1.3.8-2 2-2 3.8 0 1.7.8 2.9 2.3 3.6 1.5.7 3.4 1.2 5.7 1.6 2.2.4 4.5.8 6.7 1.4 2.2.6 4.1 1.6 5.7 3 1.4 1.6 2.2 3.7 2.2 6.6zM197.6 73.2h-17.1v-5.5h3.8V51.9c0-3.7-.7-6.3-2.1-7.9-1.4-1.6-3.3-2.3-5.7-2.3-3.2 0-5.6 1.1-7.2 3.4s-2.4 4.6-2.5 6.9v15.6h6v5.5h-17.1v-5.5h3.8V51.9c0-3.8-.7-6.4-2.1-7.9-1.4-1.5-3.3-2.3-5.6-2.3-3.2 0-5.5 1.1-7.2 3.3-1.6 2.2-2.4 4.5-2.5 6.9v15.8h6.9v5.5h-20.2v-5.5h6V42.4h-6.1v-5.6h13.4v6.4c1.2-2.1 2.7-3.8 4.7-5.2 2-1.3 4.4-2 7.3-2s5.3.7 7.5 2.1c2.2 1.4 3.7 3.5 4.5 6.4 1.1-2.5 2.7-4.5 4.9-6.1s4.8-2.4 7.9-2.4c3.5 0 6.5 1.1 8.9 3.3s3.7 5.6 3.7 10.2v18.2h6.1v5.5zm42.5 0h-13.2V66c-1.2 2.2-2.8 4.1-4.9 5.6-2.1 1.6-4.8 2.4-8.3 2.4-4.8 0-8.7-1.6-11.6-4.9-2.9-3.2-4.3-7.7-4.3-13.3 0-5 1.3-9.6 4-13.7 2.6-4.1 6.9-6.2 12.8-6.2s9.8 2.2 12.3 6.5V22.7h-8.6v-5.6h15.8v50.6h6v5.5zm-13.3-16.8V52c-.1-3-1.2-5.5-3.2-7.3s-4.4-2.8-7.2-2.8c-3.6 0-6.3 1.3-8.2 3.9-1.9 2.6-2.8 5.8-2.8 9.6 0 4.1 1 7.3 3 9.5s4.5 3.3 7.4 3.3c3.2 0 5.8-1.3 7.8-3.8 2.1-2.6 3.1-5.3 3.2-8zm61.5 16.8H269v-5.5h6V51.9c0-3.7-.7-6.3-2.2-7.9-1.4-1.6-3.4-2.3-5.7-2.3-3.1 0-5.6 1-7.4 3s-2.8 4.4-2.9 7v15.9h6v5.5h-19.3v-5.5h6V42.4h-6.2v-5.6h13.6V43c2.6-4.6 6.8-6.9 12.7-6.9 3.6 0 6.7 1.1 9.2 3.3s3.7 5.6 3.7 10.2v18.2h6v5.4h-.2z" class="logo-text"></path></svg></a><button title="Open main menu" type="button" class="button action has-icon main-menu-toggle" aria-haspopup="menu" aria-label="Open main menu" aria-expanded="false"><span class="button-wrap"><span class="icon icon-menu "></span><span class="visually-hidden">Open main menu</span></span></button></div><div class="top-navigation-main"><nav class="main-nav" aria-label="Main menu"><ul class="main-menu nojs"><li class="top-level-entry-container active"><button type="button" id="references-button" class="top-level-entry menu-toggle" aria-controls="references-menu" aria-expanded="false">References</button><a href="/en-US/docs/Web" class="top-level-entry">References</a><ul id="references-menu" class="submenu references hidden inline-submenu-lg" aria-labelledby="references-button"><li class="apis-link-container mobile-only "><a href="/en-US/docs/Web" class="submenu-item "><div class="submenu-icon"></div><div class="submenu-content-container"><div class="submenu-item-heading">Overview / Web Technology</div><p class="submenu-item-description">Web technology reference for developers</p></div></a></li><li class="html-link-container "><a href="/en-US/docs/Web/HTML" class="submenu-item "><div class="submenu-icon html"></div><div class="submenu-content-container"><div class="submenu-item-heading">HTML</div><p class="submenu-item-description">Structure of content on the web</p></div></a></li><li class="css-link-container "><a href="/en-US/docs/Web/CSS" class="submenu-item "><div class="submenu-icon css"></div><div class="submenu-content-container"><div class="submenu-item-heading">CSS</div><p class="submenu-item-description">Code used to describe document style</p></div></a></li><li class="javascript-link-container "><a href="/en-US/docs/Web/JavaScript" class="submenu-item "><div class="submenu-icon javascript"></div><div class="submenu-content-container"><div class="submenu-item-heading">JavaScript</div><p class="submenu-item-description">General-purpose scripting language</p></div></a></li><li class="http-link-container "><a href="/en-US/docs/Web/HTTP" class="submenu-item "><div class="submenu-icon http"></div><div class="submenu-content-container"><div class="submenu-item-heading">HTTP</div><p class="submenu-item-description">Protocol for transmitting web resources</p></div></a></li><li class="apis-link-container "><a href="/en-US/docs/Web/API" class="submenu-item "><div class="submenu-icon apis"></div><div class="submenu-content-container"><div class="submenu-item-heading">Web APIs</div><p class="submenu-item-description">Interfaces for building web applications</p></div></a></li><li class="apis-link-container "><a href="/en-US/docs/Mozilla/Add-ons/WebExtensions" class="submenu-item "><div class="submenu-icon"></div><div class="submenu-content-container"><div class="submenu-item-heading">Web Extensions</div><p class="submenu-item-description">Developing extensions for web browsers</p></div></a></li><li class="apis-link-container desktop-only "><a href="/en-US/docs/Web" class="submenu-item "><div class="submenu-icon"></div><div class="submenu-content-container"><div class="submenu-item-heading">Web Technology</div><p class="submenu-item-description">Web technology reference for developers</p></div></a></li></ul></li><li class="top-level-entry-container "><button type="button" id="guides-button" class="top-level-entry menu-toggle" aria-controls="guides-menu" aria-expanded="false">Guides</button><a href="/en-US/docs/Learn" class="top-level-entry">Guides</a><ul id="guides-menu" class="submenu guides hidden inline-submenu-lg" aria-labelledby="guides-button"><li class="apis-link-container mobile-only "><a href="/en-US/docs/Learn" class="submenu-item "><div class="submenu-icon learn"></div><div class="submenu-content-container"><div class="submenu-item-heading">Overview / MDN Learning Area</div><p class="submenu-item-description">Learn web development</p></div></a></li><li class="apis-link-container desktop-only "><a href="/en-US/docs/Learn" class="submenu-item "><div class="submenu-icon learn"></div><div class="submenu-content-container"><div class="submenu-item-heading">MDN Learning Area</div><p class="submenu-item-description">Learn web development</p></div></a></li><li class="html-link-container "><a href="/en-US/docs/Learn/HTML" class="submenu-item "><div class="submenu-icon html"></div><div class="submenu-content-container"><div class="submenu-item-heading">HTML</div><p class="submenu-item-description">Learn to structure web content with HTML</p></div></a></li><li class="css-link-container "><a href="/en-US/docs/Learn/CSS" class="submenu-item "><div class="submenu-icon css"></div><div class="submenu-content-container"><div class="submenu-item-heading">CSS</div><p class="submenu-item-description">Learn to style content using CSS</p></div></a></li><li class="javascript-link-container "><a href="/en-US/docs/Learn/JavaScript" class="submenu-item "><div class="submenu-icon javascript"></div><div class="submenu-content-container"><div class="submenu-item-heading">JavaScript</div><p class="submenu-item-description">Learn to run scripts in the browser</p></div></a></li><li class=" "><a href="/en-US/docs/Web/Accessibility" class="submenu-item "><div class="submenu-icon"></div><div class="submenu-content-container"><div class="submenu-item-heading">Accessibility</div><p class="submenu-item-description">Learn to make the web accessible to all</p></div></a></li></ul></li><li class="top-level-entry-container "><button type="button" id="mdn-plus-button" class="top-level-entry menu-toggle" aria-controls="mdn-plus-menu" aria-expanded="false">Plus</button><a href="/en-US/plus" class="top-level-entry">Plus</a><ul id="mdn-plus-menu" class="submenu mdn-plus hidden inline-submenu-lg" aria-labelledby="mdn-plus-button"><li class=" "><a href="/en-US/plus" class="submenu-item "><div class="submenu-icon"></div><div class="submenu-content-container"><div class="submenu-item-heading">Overview</div><p class="submenu-item-description">A customized MDN experience</p></div></a></li><li class=" "><a href="/en-US/plus/ai-help" class="submenu-item "><div class="submenu-icon"></div><div class="submenu-content-container"><div class="submenu-item-heading">AI Help</div><p class="submenu-item-description">Get real-time assistance and support</p></div></a></li><li class=" "><a href="/en-US/plus/updates" class="submenu-item "><div class="submenu-icon"></div><div class="submenu-content-container"><div class="submenu-item-heading">Updates</div><p class="submenu-item-description">All browser compatibility updates at a glance</p></div></a></li><li class=" "><a href="/en-US/plus/docs/features/overview" class="submenu-item "><div class="submenu-icon"></div><div class="submenu-content-container"><div class="submenu-item-heading">Documentation</div><p class="submenu-item-description">Learn how to use MDN Plus</p></div></a></li><li class=" "><a href="/en-US/plus/docs/faq" class="submenu-item "><div class="submenu-icon"></div><div class="submenu-content-container"><div class="submenu-item-heading">FAQ</div><p class="submenu-item-description">Frequently asked questions about MDN Plus</p></div></a></li></ul></li><li class="top-level-entry-container "><a class="top-level-entry menu-link" href="/en-US/curriculum/">Curriculum <sup class="new">New</sup></a></li><li class="top-level-entry-container "><a class="top-level-entry menu-link" href="/en-US/blog/">Blog</a></li><li class="top-level-entry-container "><button type="button" id="tools-button" class="top-level-entry menu-toggle" aria-controls="tools-menu" aria-expanded="false">Tools</button><ul id="tools-menu" class="submenu tools hidden inline-submenu-lg" aria-labelledby="tools-button"><li class=" "><a href="/en-US/play" class="submenu-item "><div class="submenu-icon"></div><div class="submenu-content-container"><div class="submenu-item-heading">Playground</div><p class="submenu-item-description">Write, test and share your code</p></div></a></li><li class=" "><a href="/en-US/observatory" class="submenu-item "><div class="submenu-icon"></div><div class="submenu-content-container"><div class="submenu-item-heading">HTTP Observatory</div><p class="submenu-item-description">Scan a website for free</p></div></a></li><li class=" "><a href="/en-US/plus/ai-help" class="submenu-item "><div class="submenu-icon"></div><div class="submenu-content-container"><div class="submenu-item-heading">AI Help</div><p class="submenu-item-description">Get real-time assistance and support</p></div></a></li></ul></li></ul></nav><div class="header-search"><form action="/en-US/search" class="search-form search-widget" id="top-nav-search-form" role="search"><label id="top-nav-search-label" for="top-nav-search-input" class="visually-hidden">Search MDN</label><input aria-activedescendant="" aria-autocomplete="list" aria-controls="top-nav-search-menu" aria-expanded="false" aria-labelledby="top-nav-search-label" autoComplete="off" id="top-nav-search-input" role="combobox" type="search" class="search-input-field" name="q" placeholder="   " required="" value=""/><button type="button" class="button action has-icon clear-search-button"><span class="button-wrap"><span class="icon icon-cancel "></span><span class="visually-hidden">Clear search input</span></span></button><button type="submit" class="button action has-icon search-button"><span class="button-wrap"><span class="icon icon-search "></span><span class="visually-hidden">Search</span></span></button><div id="top-nav-search-menu" role="listbox" aria-labelledby="top-nav-search-label"></div></form></div><div class="theme-switcher-menu"><button type="button" class="button action has-icon theme-switcher-menu small" aria-haspopup="menu"><span class="button-wrap"><span class="icon icon-theme-os-default "></span>Theme</span></button></div><ul class="auth-container"><li><a href="/users/fxa/login/authenticate/?next=%2Fen-US%2Fdocs%2FWeb%2FJavaScript%2FReference%2FGlobal_Objects%2FTypedArray" class="login-link" rel="nofollow">Log in</a></li><li><a href="/users/fxa/login/authenticate/?next=%2Fen-US%2Fdocs%2FWeb%2FJavaScript%2FReference%2FGlobal_Objects%2FTypedArray" target="_self" rel="nofollow" class="button primary mdn-plus-subscribe-link"><span class="button-wrap">Sign up for free</span></a></li></ul></div></div></header><div class="article-actions-container"><div class="container"><button type="button" class="button action has-icon sidebar-button" aria-label="Expand sidebar" aria-expanded="false" aria-controls="sidebar-quicklinks"><span class="button-wrap"><span class="icon icon-sidebar "></span></span></button><nav class="breadcrumbs-container" aria-label="Breadcrumb"><ol typeof="BreadcrumbList" vocab="https://schema.org/" aria-label="breadcrumbs"><li property="itemListElement" typeof="ListItem"><a href="/en-US/docs/Web" class="breadcrumb" property="item" typeof="WebPage"><span property="name">References</span></a><meta property="position" content="1"/></li><li property="itemListElement" typeof="ListItem"><a href="/en-US/docs/Web/JavaScript" class="breadcrumb" property="item" typeof="WebPage"><span property="name">JavaScript</span></a><meta property="position" content="2"/></li><li property="itemListElement" typeof="ListItem"><a href="/en-US/docs/Web/JavaScript/Reference" class="breadcrumb" property="item" typeof="WebPage"><span property="name">Reference</span></a><meta property="position" content="3"/></li><li property="itemListElement" typeof="ListItem"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects" class="breadcrumb" property="item" typeof="WebPage"><span property="name">Standard built-in objects</span></a><meta property="position" content="4"/></li><li property="itemListElement" typeof="ListItem"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray" class="breadcrumb-current-page" property="item" typeof="WebPage"><span property="name">TypedArray</span></a><meta property="position" content="5"/></li></ol></nav><div class="article-actions"><button type="button" class="button action has-icon article-actions-toggle" aria-label="Article actions"><span class="button-wrap"><span class="icon icon-ellipses "></span><span class="article-actions-dialog-heading">Article Actions</span></span></button><ul class="article-actions-entries"><li class="article-actions-entry"><div class="languages-switcher-menu open-on-focus-within"><button id="languages-switcher-button" type="button" class="button action small has-icon languages-switcher-menu" aria-haspopup="menu"><span class="button-wrap"><span class="icon icon-language "></span>English (US)</span></button><div class="hidden"><ul class="submenu language-menu " aria-labelledby="language-menu-button"><li class=" "><form class="submenu-item locale-redirect-setting"><div class="group"><label class="switch"><input type="checkbox" name="locale-redirect"/><span class="slider"></span><span class="label">Remember language</span></label><a href="https://github.com/orgs/mdn/discussions/739" rel="external noopener noreferrer" target="_blank" title="Enable this setting to automatically switch to this language when it&#x27;s available. (Click to learn more.)"><span class="icon icon-question-mark "></span></a></div></form></li><li class=" "><a data-locale="de" href="/de/docs/Web/JavaScript/Reference/Global_Objects/TypedArray" class="button submenu-item"><span>Deutsch</span><span title="Diese Übersetzung ist Teil eines Experiments."><span class="icon icon-experimental "></span></span></a></li><li class=" "><a data-locale="es" href="/es/docs/Web/JavaScript/Reference/Global_Objects/TypedArray" class="button submenu-item"><span>Español</span></a></li><li class=" "><a data-locale="fr" href="/fr/docs/Web/JavaScript/Reference/Global_Objects/TypedArray" class="button submenu-item"><span>Français</span></a></li><li class=" "><a data-locale="ja" href="/ja/docs/Web/JavaScript/Reference/Global_Objects/TypedArray" class="button submenu-item"><span>日本語</span></a></li><li class=" "><a data-locale="ko" href="/ko/docs/Web/JavaScript/Reference/Global_Objects/TypedArray" class="button submenu-item"><span>한국어</span></a></li><li class=" "><a data-locale="ru" href="/ru/docs/Web/JavaScript/Reference/Global_Objects/TypedArray" class="button submenu-item"><span>Русский</span></a></li><li class=" "><a data-locale="zh-CN" href="/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/TypedArray" class="button submenu-item"><span>中文 (简体)</span></a></li></ul></div></div></li></ul></div></div></div></div><div class="main-wrapper"><div class="sidebar-container"><aside id="sidebar-quicklinks" class="sidebar" data-macro="JSRef"><button type="button" class="button action backdrop" aria-label="Collapse sidebar"><span class="button-wrap"></span></button><nav aria-label="Related Topics" class="sidebar-inner"><header class="sidebar-actions"><section class="sidebar-filter-container"><div class="sidebar-filter "><label id="sidebar-filter-label" class="sidebar-filter-label" for="sidebar-filter-input"><span class="icon icon-filter"></span><span class="visually-hidden">Filter sidebar</span></label><input id="sidebar-filter-input" autoComplete="off" class="sidebar-filter-input-field false" type="text" placeholder="Filter" value=""/><button type="button" class="button action has-icon clear-sidebar-filter-button"><span class="button-wrap"><span class="icon icon-cancel "></span><span class="visually-hidden">Clear filter input</span></span></button></div></section></header><div class="sidebar-inner-nav"><div class="in-nav-toc"><div class="document-toc-container"><section class="document-toc"><header><h2 class="document-toc-heading">In this article</h2></header><ul class="document-toc-list"><li class="document-toc-item "><a class="document-toc-link" href="#try_it">Try it</a></li><li class="document-toc-item "><a class="document-toc-link" href="#description">Description</a></li><li class="document-toc-item "><a class="document-toc-link" href="#constructor">Constructor</a></li><li class="document-toc-item "><a class="document-toc-link" href="#static_properties">Static properties</a></li><li class="document-toc-item "><a class="document-toc-link" href="#static_methods">Static methods</a></li><li class="document-toc-item "><a class="document-toc-link" href="#instance_properties">Instance properties</a></li><li class="document-toc-item "><a class="document-toc-link" href="#instance_methods">Instance methods</a></li><li class="document-toc-item "><a class="document-toc-link" href="#examples">Examples</a></li><li class="document-toc-item "><a class="document-toc-link" href="#specifications">Specifications</a></li><li class="document-toc-item "><a class="document-toc-link" href="#browser_compatibility">Browser compatibility</a></li><li class="document-toc-item "><a class="document-toc-link" href="#see_also">See also</a></li></ul></section></div></div><div class="sidebar-body"><ol><li class="section"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects">Standard built-in objects</a></li><li class="section"><em><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray" aria-current="page"><code>TypedArray</code></a></em></li><li><details open=""><summary>Static methods</summary><ol><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from"><code>TypedArray.from()</code></a></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of"><code>TypedArray.of()</code></a></li></ol></details></li><li><details open=""><summary>Static properties</summary><ol><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/BYTES_PER_ELEMENT"><code>TypedArray.BYTES_PER_ELEMENT</code></a></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/Symbol.species"><code>TypedArray[Symbol.species]</code></a></li></ol></details></li><li><details open=""><summary>Instance methods</summary><ol><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/at"><code>TypedArray.prototype.at()</code></a></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/copyWithin"><code>TypedArray.prototype.copyWithin()</code></a></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/entries"><code>TypedArray.prototype.entries()</code></a></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/every"><code>TypedArray.prototype.every()</code></a></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/fill"><code>TypedArray.prototype.fill()</code></a></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/filter"><code>TypedArray.prototype.filter()</code></a></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/find"><code>TypedArray.prototype.find()</code></a></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findIndex"><code>TypedArray.prototype.findIndex()</code></a></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findLast"><code>TypedArray.prototype.findLast()</code></a></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findLastIndex"><code>TypedArray.prototype.findLastIndex()</code></a></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/forEach"><code>TypedArray.prototype.forEach()</code></a></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/includes"><code>TypedArray.prototype.includes()</code></a></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/indexOf"><code>TypedArray.prototype.indexOf()</code></a></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/join"><code>TypedArray.prototype.join()</code></a></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/keys"><code>TypedArray.prototype.keys()</code></a></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/lastIndexOf"><code>TypedArray.prototype.lastIndexOf()</code></a></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/map"><code>TypedArray.prototype.map()</code></a></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reduce"><code>TypedArray.prototype.reduce()</code></a></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reduceRight"><code>TypedArray.prototype.reduceRight()</code></a></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reverse"><code>TypedArray.prototype.reverse()</code></a></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/set"><code>TypedArray.prototype.set()</code></a></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/slice"><code>TypedArray.prototype.slice()</code></a></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/some"><code>TypedArray.prototype.some()</code></a></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/sort"><code>TypedArray.prototype.sort()</code></a></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/subarray"><code>TypedArray.prototype.subarray()</code></a></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/Symbol.iterator"><code>TypedArray.prototype[Symbol.iterator]()</code></a></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toLocaleString"><code>TypedArray.prototype.toLocaleString()</code></a></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toReversed"><code>TypedArray.prototype.toReversed()</code></a></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toSorted"><code>TypedArray.prototype.toSorted()</code></a></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toString"><code>TypedArray.prototype.toString()</code></a></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/values"><code>TypedArray.prototype.values()</code></a></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/with"><code>TypedArray.prototype.with()</code></a></li></ol></details></li><li><details open=""><summary>Instance properties</summary><ol><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/buffer"><code>TypedArray.prototype.buffer</code></a></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/byteLength"><code>TypedArray.prototype.byteLength</code></a></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/byteOffset"><code>TypedArray.prototype.byteOffset</code></a></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/length"><code>TypedArray.prototype.length</code></a></li></ol></details></li><li class="section no-link">Inheritance</li><li class="section"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object"><code>Object/Function</code></a></li><li><details><summary>Static methods</summary><ol><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/apply"><code>Function.prototype.apply()</code></a></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind"><code>Function.prototype.bind()</code></a></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/call"><code>Function.prototype.call()</code></a></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/Symbol.hasInstance"><code>Function.prototype[Symbol.hasInstance]()</code></a></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/toString"><code>Function.prototype.toString()</code></a></li></ol></details></li><li><details><summary>Static properties</summary><ol><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/arguments"><code>Function.prototype.arguments</code></a><abbr class="icon icon-nonstandard" title="Non-standard. Check cross-browser support before using."> <span class="visually-hidden">Non-standard</span> </abbr><abbr class="icon icon-deprecated" title="Deprecated. Not for use in new websites."> <span class="visually-hidden">Deprecated</span> </abbr></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/caller"><code>Function.prototype.caller</code></a><abbr class="icon icon-nonstandard" title="Non-standard. Check cross-browser support before using."> <span class="visually-hidden">Non-standard</span> </abbr><abbr class="icon icon-deprecated" title="Deprecated. Not for use in new websites."> <span class="visually-hidden">Deprecated</span> </abbr></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/displayName"><code>Function: displayName</code></a><abbr class="icon icon-nonstandard" title="Non-standard. Check cross-browser support before using."> <span class="visually-hidden">Non-standard</span> </abbr></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/length"><code>Function: length</code></a></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/name"><code>Function: name</code></a></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/prototype"><code>Function: prototype</code></a></li></ol></details></li><li><details><summary>Instance methods</summary><ol><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/__defineGetter__"><code>Object.prototype.__defineGetter__()</code></a><abbr class="icon icon-deprecated" title="Deprecated. Not for use in new websites."> <span class="visually-hidden">Deprecated</span> </abbr></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/__defineSetter__"><code>Object.prototype.__defineSetter__()</code></a><abbr class="icon icon-deprecated" title="Deprecated. Not for use in new websites."> <span class="visually-hidden">Deprecated</span> </abbr></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/__lookupGetter__"><code>Object.prototype.__lookupGetter__()</code></a><abbr class="icon icon-deprecated" title="Deprecated. Not for use in new websites."> <span class="visually-hidden">Deprecated</span> </abbr></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/__lookupSetter__"><code>Object.prototype.__lookupSetter__()</code></a><abbr class="icon icon-deprecated" title="Deprecated. Not for use in new websites."> <span class="visually-hidden">Deprecated</span> </abbr></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/hasOwnProperty"><code>Object.prototype.hasOwnProperty()</code></a></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isPrototypeOf"><code>Object.prototype.isPrototypeOf()</code></a></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/propertyIsEnumerable"><code>Object.prototype.propertyIsEnumerable()</code></a></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toLocaleString"><code>Object.prototype.toLocaleString()</code></a></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toString"><code>Object.prototype.toString()</code></a></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/valueOf"><code>Object.prototype.valueOf()</code></a></li></ol></details></li><li><details><summary>Instance properties</summary><ol><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/constructor"><code>Object.prototype.constructor</code></a></li><li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/proto"><code>Object.prototype.__proto__</code></a><abbr class="icon icon-deprecated" title="Deprecated. Not for use in new websites."> <span class="visually-hidden">Deprecated</span> </abbr></li></ol></details></li><li class="section no-link">Related pages</li><li class="section"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt64Array"><code>BigInt64Array</code></a></li><li class="section"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigUint64Array"><code>BigUint64Array</code></a></li><li class="section"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array"><code>Float32Array</code></a></li><li class="section"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float64Array"><code>Float64Array</code></a></li><li class="section"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int8Array"><code>Int8Array</code></a></li><li class="section"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int16Array"><code>Int16Array</code></a></li><li class="section"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int32Array"><code>Int32Array</code></a></li><li class="section"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array"><code>Uint8Array</code></a></li><li class="section"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8ClampedArray"><code>Uint8ClampedArray</code></a></li><li class="section"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint16Array"><code>Uint16Array</code></a></li><li class="section"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint32Array"><code>Uint32Array</code></a></li></ol></div></div><section class="place side"></section></nav></aside><div class="toc-container"><aside class="toc"><nav><div class="document-toc-container"><section class="document-toc"><header><h2 class="document-toc-heading">In this article</h2></header><ul class="document-toc-list"><li class="document-toc-item "><a class="document-toc-link" href="#try_it">Try it</a></li><li class="document-toc-item "><a class="document-toc-link" href="#description">Description</a></li><li class="document-toc-item "><a class="document-toc-link" href="#constructor">Constructor</a></li><li class="document-toc-item "><a class="document-toc-link" href="#static_properties">Static properties</a></li><li class="document-toc-item "><a class="document-toc-link" href="#static_methods">Static methods</a></li><li class="document-toc-item "><a class="document-toc-link" href="#instance_properties">Instance properties</a></li><li class="document-toc-item "><a class="document-toc-link" href="#instance_methods">Instance methods</a></li><li class="document-toc-item "><a class="document-toc-link" href="#examples">Examples</a></li><li class="document-toc-item "><a class="document-toc-link" href="#specifications">Specifications</a></li><li class="document-toc-item "><a class="document-toc-link" href="#browser_compatibility">Browser compatibility</a></li><li class="document-toc-item "><a class="document-toc-link" href="#see_also">See also</a></li></ul></section></div></nav></aside><section class="place side"></section></div></div><main id="content" class="main-content "><article class="main-page-content" lang="en-US"><header><h1>TypedArray</h1><details class="baseline-indicator high"><summary><span class="indicator" role="img" aria-label="Baseline Check"></span><h2>Baseline<!-- --> <span class="not-bold">Widely available</span></h2><div class="browsers"><span class="engine" title="Supported in Chrome and Edge"><span class="browser chrome supported" role="img" aria-label="Chrome check"></span><span class="browser edge supported" role="img" aria-label="Edge check"></span></span><span class="engine" title="Supported in Firefox"><span class="browser firefox supported" role="img" aria-label="Firefox check"></span></span><span class="engine" title="Supported in Safari"><span class="browser safari supported" role="img" aria-label="Safari check"></span></span></div><span class="icon icon-chevron "></span></summary><div class="extra"><p>This feature is well established and works across many devices and browser versions. It’s been available across browsers since<!-- --> <!-- -->July 2015<!-- -->.</p><ul><li><a href="/en-US/docs/Glossary/Baseline/Compatibility" data-glean="baseline_link_learn_more" target="_blank" class="learn-more">Learn more</a></li><li><a href="#browser_compatibility" data-glean="baseline_link_bcd_table">See full compatibility</a></li><li><a href="https://survey.alchemer.com/s3/7634825/MDN-baseline-feedback?page=%2Fen-US%2Fdocs%2FWeb%2FJavaScript%2FReference%2FGlobal_Objects%2FTypedArray&amp;level=high" data-glean="baseline_link_feedback" class="feedback-link" target="_blank" rel="noreferrer">Report feedback</a></li></ul></div></details></header><div class="section-content"><p> A <strong><em>TypedArray</em></strong> object describes an array-like view of an underlying <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer">binary data buffer</a>. There is no global property named <code>TypedArray</code>, nor is there a directly visible <code>TypedArray</code> constructor. Instead, there are a number of different global properties, whose values are typed array constructors for specific element types, listed below. On the following pages you will find common properties and methods that can be used with any typed array containing elements of any type. </p></div><section aria-labelledby="try_it"><h2 id="try_it"><a href="#try_it">Try it</a></h2><div class="section-content"><iframe class="interactive is-js-height" height="200" src="https://interactive-examples.mdn.mozilla.net/pages/js/typedarray-constructor.html" title="MDN Web Docs Interactive Example" allow="clipboard-write" loading="lazy"></iframe></div></section><section aria-labelledby="description"><h2 id="description"><a href="#description">Description</a></h2><div class="section-content"><p>The <code>TypedArray</code> constructor (often referred to as <code>%TypedArray%</code> to indicate its "intrinsicness", since it does not correspond to any global exposed to a JavaScript program) serves as the common superclass of all <code>TypedArray</code> subclasses. Think about <code>%TypedArray%</code> as an "abstract class" providing a common interface of utility methods for all typed array subclasses. This constructor is not directly exposed: there is no global <code>TypedArray</code> property. It is only accessible through <code>Object.getPrototypeOf(Int8Array)</code> and similar.</p> <p>When creating an instance of a <code>TypedArray</code> subclass (e.g. <code>Int8Array</code>), an array buffer is created internally in memory or, if an <code>ArrayBuffer</code> object is given as constructor argument, that <code>ArrayBuffer</code> is used instead. The buffer address is saved as an internal property of the instance and all the methods of <code>%TypedArray%.prototype</code> will set and get values based on that array buffer address.</p></div></section><section aria-labelledby="typedarray_objects"><h3 id="typedarray_objects"><a href="#typedarray_objects">TypedArray objects</a></h3><div class="section-content"><figure class="table-container"><table> <thead> <tr> <th>Type</th> <th>Value Range</th> <th>Size in bytes</th> <th>Web IDL type</th> </tr> </thead> <tbody> <tr> <td><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int8Array"><code>Int8Array</code></a></td> <td>-128 to 127</td> <td>1</td> <td><code>byte</code></td> </tr> <tr> <td><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array"><code>Uint8Array</code></a></td> <td>0 to 255</td> <td>1</td> <td><code>octet</code></td> </tr> <tr> <td><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8ClampedArray"><code>Uint8ClampedArray</code></a></td> <td>0 to 255</td> <td>1</td> <td><code>octet</code></td> </tr> <tr> <td><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int16Array"><code>Int16Array</code></a></td> <td>-32768 to 32767</td> <td>2</td> <td><code>short</code></td> </tr> <tr> <td><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint16Array"><code>Uint16Array</code></a></td> <td>0 to 65535</td> <td>2</td> <td><code>unsigned short</code></td> </tr> <tr> <td><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int32Array"><code>Int32Array</code></a></td> <td>-2147483648 to 2147483647</td> <td>4</td> <td><code>long</code></td> </tr> <tr> <td><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint32Array"><code>Uint32Array</code></a></td> <td>0 to 4294967295</td> <td>4</td> <td><code>unsigned long</code></td> </tr> <tr> <td><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float16Array"><code>Float16Array</code></a></td> <td><code>-65504</code> to <code>65504</code></td> <td>2</td> <td>N/A</td> </tr> <tr> <td><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array"><code>Float32Array</code></a></td> <td><code>-3.4e38</code> to <code>3.4e38</code></td> <td>4</td> <td><code>unrestricted float</code></td> </tr> <tr> <td><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float64Array"><code>Float64Array</code></a></td> <td><code>-1.8e308</code> to <code>1.8e308</code></td> <td>8</td> <td><code>unrestricted double</code></td> </tr> <tr> <td><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt64Array"><code>BigInt64Array</code></a></td> <td>-2<sup>63</sup> to 2<sup>63</sup> - 1</td> <td>8</td> <td><code>bigint</code></td> </tr> <tr> <td><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigUint64Array"><code>BigUint64Array</code></a></td> <td>0 to 2<sup>64</sup> - 1</td> <td>8</td> <td><code>bigint</code></td> </tr> </tbody> </table></figure></div></section><section aria-labelledby="value_encoding_and_normalization"><h3 id="value_encoding_and_normalization"><a href="#value_encoding_and_normalization">Value encoding and normalization</a></h3><div class="section-content"><p>All typed arrays operate on <code>ArrayBuffer</code>s, where you can observe the exact byte representation of each element, so how the numbers are encoded in binary format is significant.</p> <ul> <li>Unsigned integer arrays (<code>Uint8Array</code>, <code>Uint16Array</code>, <code>Uint32Array</code>, and <code>BigUint64Array</code>) store the number directly in binary.</li> <li>Signed integer arrays (<code>Int8Array</code>, <code>Int16Array</code>, <code>Int32Array</code>, and <code>BigInt64Array</code>) store the number using <a href="https://en.wikipedia.org/wiki/Two's_complement" class="external" target="_blank">two's complement</a>.</li> <li>Floating-point arrays (<code>Float16Array</code>, <code>Float32Array</code>, and <code>Float64Array</code>) store the number using <a href="https://en.wikipedia.org/wiki/IEEE_754" class="external" target="_blank">IEEE 754</a> floating-point format. The <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number#number_encoding"><code>Number</code></a> reference has more information about the exact format. JavaScript numbers use double precision floating point format by default, which is the same as <code>Float64Array</code>. <code>Float32Array</code> uses 23 (instead of 52) bits for the mantissa and 8 (instead of 11) bits for the exponent. <code>Float16Array</code> uses 10 bits for the mantissa and 5 bits for the exponent. Note that the spec requires all <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/NaN"><code>NaN</code></a> values to use the same bit encoding, but the exact bit pattern is implementation-dependent.</li> <li><code>Uint8ClampedArray</code> is a special case. It stores the number in binary like <code>Uint8Array</code> does, but when you store a number outside the range, it <em>clamps</em> the number to the range 0 to 255 by mathematical value, instead of truncating the most significant bits.</li> </ul> <p>All typed arrays except <code>Int8Array</code>, <code>Uint8Array</code>, and <code>Uint8ClampedArray</code> store each element using multiple bytes. These bytes can either be ordered from most significant to least significant (big-endian) or from least significant to most significant (little-endian). See <a href="/en-US/docs/Glossary/Endianness">Endianness</a> for more explanation. Typed arrays always use the platform's native byte order. If you want to specify the endianness when writing and reading from buffers, you should use a <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView"><code>DataView</code></a> instead.</p> <p>When writing to these typed arrays, values that are outside the representable range are normalized.</p> <ul> <li>All integer arrays (except <code>Uint8ClampedArray</code>) use <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number#fixed-width_number_conversion">fixed-width number conversion</a>, which first truncates the decimal part of the number and then takes the lowest bits.</li> <li><code>Uint8ClampedArray</code> first clamps the number to the range 0 to 255 (values greater than 255 become 255 and values less than 0 become 0). It then <em>rounds</em> (instead of flooring) the result to the nearest integer, with half-to-even; meaning if the number is exactly between two integers, it rounds to the nearest even integer. For example, <code>0.5</code> becomes <code>0</code>, <code>1.5</code> becomes <code>2</code>, and <code>2.5</code> becomes <code>2</code>.</li> <li><code>Float16Array</code> and <code>Float32Array</code> perform a "round to even" to convert 64-bit floating point numbers to 32-bit and 16-bit. This is the same algorithm as provided by <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/fround"><code>Math.fround()</code></a> and <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/f16round"><code>Math.f16round()</code></a>.</li> </ul></div></section><section aria-labelledby="behavior_when_viewing_a_resizable_buffer"><h3 id="behavior_when_viewing_a_resizable_buffer"><a href="#behavior_when_viewing_a_resizable_buffer">Behavior when viewing a resizable buffer</a></h3><div class="section-content"><p>When a <code>TypedArray</code> is created as a view of a <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer#resizing_arraybuffers">resizable buffer</a>, resizing the underlying buffer will have different effects on the size of the <code>TypedArray</code> depending on whether the <code>TypedArray</code> is constructed as length-tracking.</p> <p>If a typed array is created without a specific size by omitting the third parameter or passing <code>undefined</code>, the typed array will become <em>length-tracking</em>, and will automatically resize to fit the underlying <code>buffer</code> as the latter is resized:</p> <div class="code-example"><div class="example-header"><span class="language-name">js</span></div><pre class="brush: js notranslate"><code>const buffer = new ArrayBuffer(8, { maxByteLength: 16 }); const float32 = new Float32Array(buffer); console.log(float32.byteLength); // 8 console.log(float32.length); // 2 buffer.resize(12); console.log(float32.byteLength); // 12 console.log(float32.length); // 3 </code></pre></div> <p>If a typed array is created with a specific size using the third <code>length</code> parameter, it won't resize to contain the <code>buffer</code> as the latter is grown:</p> <div class="code-example"><div class="example-header"><span class="language-name">js</span></div><pre class="brush: js notranslate"><code>const buffer = new ArrayBuffer(8, { maxByteLength: 16 }); const float32 = new Float32Array(buffer, 0, 2); console.log(float32.byteLength); // 8 console.log(float32.length); // 2 console.log(float32[0]); // 0, the initial value buffer.resize(12); console.log(float32.byteLength); // 8 console.log(float32.length); // 2 console.log(float32[0]); // 0, the initial value </code></pre></div> <p>When a <code>buffer</code> is shrunk, the viewing typed array may become out of bounds, in which case the typed array's observed size will decrease to 0. This is the only case where a non-length-tracking typed array's length may change.</p> <div class="code-example"><div class="example-header"><span class="language-name">js</span></div><pre class="brush: js notranslate"><code>const buffer = new ArrayBuffer(8, { maxByteLength: 16 }); const float32 = new Float32Array(buffer, 0, 2); buffer.resize(7); console.log(float32.byteLength); // 0 console.log(float32.length); // 0 console.log(float32[0]); // undefined </code></pre></div> <p>If you then grow the <code>buffer</code> again to bring the typed array back in bounds, the typed array's size will be restored to its original value.</p> <div class="code-example"><div class="example-header"><span class="language-name">js</span></div><pre class="brush: js notranslate"><code>buffer.resize(8); console.log(float32.byteLength); // 8 console.log(float32.length); // 2 console.log(float32[0]); // 0 - back in bounds again! </code></pre></div> <p>The same can happen for length-tracking typed arrays as well, if the buffer is shrunk beyond the <code>byteOffset</code>.</p> <div class="code-example"><div class="example-header"><span class="language-name">js</span></div><pre class="brush: js notranslate"><code>const buffer = new ArrayBuffer(8, { maxByteLength: 16 }); const float32 = new Float32Array(buffer, 4); // float32 is length-tracking, but it only extends from the 4th byte // to the end of the buffer, so if the buffer is resized to be shorter // than 4 bytes, the typed array will become out of bounds buffer.resize(3); console.log(float32.byteLength); // 0 </code></pre></div></div></section><section aria-labelledby="constructor"><h2 id="constructor"><a href="#constructor">Constructor</a></h2><div class="section-content"><p>This object cannot be instantiated directly — attempting to construct it with <code>new</code> throws a <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypeError"><code>TypeError</code></a>.</p> <div class="code-example"><div class="example-header"><span class="language-name">js</span></div><pre class="brush: js notranslate"><code>new (Object.getPrototypeOf(Int8Array))(); // TypeError: Abstract class TypedArray not directly constructable </code></pre></div> <p>Instead, you create an instance of a typed array of a particular type, such as an <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int8Array"><code>Int8Array</code></a> or a <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt64Array"><code>BigInt64Array</code></a>. These objects all have a common syntax for their constructors:</p> <div class="code-example"><div class="example-header"><span class="language-name">js</span></div><pre class="brush: js notranslate"><code>new TypedArray() new TypedArray(length) new TypedArray(typedArray) new TypedArray(object) new TypedArray(buffer) new TypedArray(buffer, byteOffset) new TypedArray(buffer, byteOffset, length) </code></pre></div> <p>Where <code>TypedArray</code> is a constructor for one of the concrete types.</p> <div class="notecard note"> <p><strong>Note:</strong> All <code>TypedArray</code> subclasses' constructors can only be constructed with <a href="/en-US/docs/Web/JavaScript/Reference/Operators/new"><code>new</code></a>. Attempting to call one without <code>new</code> throws a <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypeError"><code>TypeError</code></a>.</p> </div></div></section><section aria-labelledby="parameters"><h3 id="parameters"><a href="#parameters">Parameters</a></h3><div class="section-content"><dl> <dt id="typedarray"><a href="#typedarray"><code>typedArray</code></a></dt> <dd> <p>When called with an instance of a <code>TypedArray</code> subclass, the <code>typedArray</code> gets copied into a new typed array. For a non-<a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt">bigint</a> <code>TypedArray</code> constructor, the <code>typedArray</code> parameter can only be of one of the non-<a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt">bigint</a> types (such as <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int32Array"><code>Int32Array</code></a>). Similarly, for a <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt">bigint</a> <code>TypedArray</code> constructor (<a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt64Array"><code>BigInt64Array</code></a> or <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigUint64Array"><code>BigUint64Array</code></a>), the <code>typedArray</code> parameter can only be of one of the <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt">bigint</a> types. Each value in <code>typedArray</code> is converted to the corresponding type of the constructor before being copied into the new array. The length of the new typed array will be same as the length of the <code>typedArray</code> argument.</p> </dd> <dt id="object"><a href="#object"><code>object</code></a></dt> <dd> <p>When called with an object that's not a <code>TypedArray</code> instance, a new typed array is created in the same way as the <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from"><code>TypedArray.from()</code></a> method.</p> </dd> <dt id="length"><a href="#length"><code>length</code></a> <span class="badge inline optional">Optional</span></dt> <dd> <p>When called with a non-object, the parameter will be treated as a number specifying the length of the typed array. An internal array buffer is created in memory, of size <code>length</code> multiplied by <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/BYTES_PER_ELEMENT"><code>BYTES_PER_ELEMENT</code></a> bytes, filled with zeros. Omitting all parameters is equivalent to using <code>0</code> as <code>length</code>.</p> </dd> <dt id="buffer"><a href="#buffer"><code>buffer</code></a>, <code>byteOffset</code> <span class="badge inline optional">Optional</span>, <code>length</code> <span class="badge inline optional">Optional</span></dt> <dd> <p>When called with an <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer"><code>ArrayBuffer</code></a> or <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer"><code>SharedArrayBuffer</code></a> instance, and optionally a <code>byteOffset</code> and a <code>length</code> argument, a new typed array view is created that views the specified buffer. The <code>byteOffset</code> (in bytes) and <code>length</code> (in number of elements, each occupying <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/BYTES_PER_ELEMENT"><code>BYTES_PER_ELEMENT</code></a> bytes) parameters specify the memory range that will be exposed by the typed array view. If both are omitted, all of <code>buffer</code> is viewed; if only <code>length</code> is omitted, the remainder of <code>buffer</code> starting from <code>byteOffset</code> is viewed. If <code>length</code> is omitted, the typed array becomes <a href="#behavior_when_viewing_a_resizable_buffer">length-tracking</a>.</p> </dd> </dl></div></section><section aria-labelledby="exceptions"><h3 id="exceptions"><a href="#exceptions">Exceptions</a></h3><div class="section-content"><p>All <code>TypeArray</code> subclass constructors operate in the same way. They would all throw the following exceptions:</p> <dl> <dt id="typeerror"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypeError"><code>TypeError</code></a></dt> <dd> <p>Thrown in one of the following cases:</p> <ul> <li>A <code>typedArray</code> is passed but it is a <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt">bigint</a> type while the current constructor is not, or vice versa.</li> <li>A <code>typedArray</code> is passed but the buffer it's viewing is detached, or a detached <code>buffer</code> is directly passed.</li> </ul> </dd> <dt id="rangeerror"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/RangeError"><code>RangeError</code></a></dt> <dd> <p>Thrown in one of the following cases:</p> <ul> <li>The new typed array's length is too large.</li> <li>The length of <code>buffer</code> (if the <code>length</code> parameter is not specified) or <code>byteOffset</code> is not an integral multiple of the new typed array's element size.</li> <li><code>byteOffset</code> is not a valid array index (an integer between 0 and 2<sup>53</sup> - 1).</li> <li>When creating a view from a buffer, the bounds are outside the buffer. In other words, <code>byteOffset + length * TypedArray.BYTES_PER_ELEMENT &gt; buffer.byteLength</code>.</li> </ul> </dd> </dl></div></section><section aria-labelledby="static_properties"><h2 id="static_properties"><a href="#static_properties">Static properties</a></h2><div class="section-content"><p>These properties are defined on the <code>TypedArray</code> constructor object and are thus shared by all <code>TypedArray</code> subclass constructors.</p> <dl> <dt id="typedarraysymbol.species"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/Symbol.species"><code>TypedArray[Symbol.species]</code></a></dt> <dd> <p>The constructor function used to create derived objects.</p> </dd> </dl> <p>All <code>TypedArray</code> subclasses also have the following static properties:</p> <dl> <dt id="typedarray.bytes_per_element"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/BYTES_PER_ELEMENT"><code>TypedArray.BYTES_PER_ELEMENT</code></a></dt> <dd> <p>Returns a number value of the element size for the different <code>TypedArray</code> objects.</p> </dd> </dl></div></section><section aria-labelledby="static_methods"><h2 id="static_methods"><a href="#static_methods">Static methods</a></h2><div class="section-content"><p>These methods are defined on the <code>TypedArray</code> constructor object and are thus shared by all <code>TypedArray</code> subclass constructors.</p> <dl> <dt id="typedarray.from"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from"><code>TypedArray.from()</code></a></dt> <dd> <p>Creates a new <code>TypedArray</code> from an array-like or iterable object. See also <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from"><code>Array.from()</code></a>.</p> </dd> <dt id="typedarray.of"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of"><code>TypedArray.of()</code></a></dt> <dd> <p>Creates a new <code>TypedArray</code> with a variable number of arguments. See also <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/of"><code>Array.of()</code></a>.</p> </dd> </dl></div></section><section aria-labelledby="instance_properties"><h2 id="instance_properties"><a href="#instance_properties">Instance properties</a></h2><div class="section-content"><p>These properties are defined on <code>TypedArray.prototype</code> and shared by all <code>TypedArray</code> subclass instances.</p> <dl> <dt id="typedarray.prototype.buffer"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/buffer"><code>TypedArray.prototype.buffer</code></a></dt> <dd> <p>Returns the <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer"><code>ArrayBuffer</code></a> referenced by the typed array.</p> </dd> <dt id="typedarray.prototype.bytelength"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/byteLength"><code>TypedArray.prototype.byteLength</code></a></dt> <dd> <p>Returns the length (in bytes) of the typed array.</p> </dd> <dt id="typedarray.prototype.byteoffset"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/byteOffset"><code>TypedArray.prototype.byteOffset</code></a></dt> <dd> <p>Returns the offset (in bytes) of the typed array from the start of its <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer"><code>ArrayBuffer</code></a>.</p> </dd> <dt id="typedarray.prototype.constructor"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/constructor"><code>TypedArray.prototype.constructor</code></a></dt> <dd> <p>The constructor function that created the instance object. <code>TypedArray.prototype.constructor</code> is the hidden <code>TypedArray</code> constructor function, but each typed array subclass also defines its own <code>constructor</code> property.</p> </dd> <dt id="typedarray.prototype.length"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/length"><code>TypedArray.prototype.length</code></a></dt> <dd> <p>Returns the number of elements held in the typed array.</p> </dd> <dt id="typedarray.prototypesymbol.tostringtag"><a href="#typedarray.prototypesymbol.tostringtag"><code>TypedArray.prototype[Symbol.toStringTag]</code></a></dt> <dd> <p>The initial value of the <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/toStringTag"><code>TypedArray.prototype[Symbol.toStringTag]</code></a> property is a getter that returns the same string as the typed array constructor's name. It returns <code>undefined</code> if the <code>this</code> value is not one of the typed array subclasses. This property is used in <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toString"><code>Object.prototype.toString()</code></a>. However, because <code>TypedArray</code> also has its own <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toString"><code>toString()</code></a> method, this property is not used unless you call <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/call"><code>Object.prototype.toString.call()</code></a> with a typed array as <code>thisArg</code>.</p> </dd> </dl> <p>All <code>TypedArray</code> subclasses also have the following instance properties:</p> <dl> <dt id="typedarray.prototype.bytes_per_element"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/BYTES_PER_ELEMENT"><code>TypedArray.prototype.BYTES_PER_ELEMENT</code></a></dt> <dd> <p>Returns a number value of the element size for the different <code>TypedArray</code> objects.</p> </dd> </dl></div></section><section aria-labelledby="instance_methods"><h2 id="instance_methods"><a href="#instance_methods">Instance methods</a></h2><div class="section-content"><p>These methods are defined on the <code>TypedArray</code> prototype object and are thus shared by all <code>TypedArray</code> subclass instances.</p> <dl> <dt id="typedarray.prototype.at"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/at"><code>TypedArray.prototype.at()</code></a></dt> <dd> <p>Takes an integer value and returns the item at that index. This method allows for negative integers, which count back from the last item.</p> </dd> <dt id="typedarray.prototype.copywithin"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/copyWithin"><code>TypedArray.prototype.copyWithin()</code></a></dt> <dd> <p>Copies a sequence of array elements within the array. See also <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/copyWithin"><code>Array.prototype.copyWithin()</code></a>.</p> </dd> <dt id="typedarray.prototype.entries"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/entries"><code>TypedArray.prototype.entries()</code></a></dt> <dd> <p>Returns a new <em>array iterator</em> object that contains the key/value pairs for each index in the array. See also <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/entries"><code>Array.prototype.entries()</code></a>.</p> </dd> <dt id="typedarray.prototype.every"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/every"><code>TypedArray.prototype.every()</code></a></dt> <dd> <p>Tests whether all elements in the array pass the test provided by a function. See also <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/every"><code>Array.prototype.every()</code></a>.</p> </dd> <dt id="typedarray.prototype.fill"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/fill"><code>TypedArray.prototype.fill()</code></a></dt> <dd> <p>Fills all the elements of an array from a start index to an end index with a static value. See also <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/fill"><code>Array.prototype.fill()</code></a>.</p> </dd> <dt id="typedarray.prototype.filter"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/filter"><code>TypedArray.prototype.filter()</code></a></dt> <dd> <p>Creates a new array with all of the elements of this array for which the provided filtering function returns <code>true</code>. See also <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter"><code>Array.prototype.filter()</code></a>.</p> </dd> <dt id="typedarray.prototype.find"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/find"><code>TypedArray.prototype.find()</code></a></dt> <dd> <p>Returns the first <code>element</code> in the array that satisfies a provided testing function, or <code>undefined</code> if no appropriate element is found. See also <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find"><code>Array.prototype.find()</code></a>.</p> </dd> <dt id="typedarray.prototype.findindex"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findIndex"><code>TypedArray.prototype.findIndex()</code></a></dt> <dd> <p>Returns the first index value in the array that has an element that satisfies a provided testing function, or <code>-1</code> if no appropriate element was found. See also <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/findIndex"><code>Array.prototype.findIndex()</code></a>.</p> </dd> <dt id="typedarray.prototype.findlast"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findLast"><code>TypedArray.prototype.findLast()</code></a></dt> <dd> <p>Returns the value of the last element in the array that satisfies a provided testing function, or <code>undefined</code> if no appropriate element is found. See also <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/findLast"><code>Array.prototype.findLast()</code></a>.</p> </dd> <dt id="typedarray.prototype.findlastindex"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findLastIndex"><code>TypedArray.prototype.findLastIndex()</code></a></dt> <dd> <p>Returns the index of the last element in the array that satisfies a provided testing function, or <code>-1</code> if no appropriate element was found. See also <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/findLastIndex"><code>Array.prototype.findLastIndex()</code></a>.</p> </dd> <dt id="typedarray.prototype.foreach"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/forEach"><code>TypedArray.prototype.forEach()</code></a></dt> <dd> <p>Calls a function for each element in the array. See also <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach"><code>Array.prototype.forEach()</code></a>.</p> </dd> <dt id="typedarray.prototype.includes"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/includes"><code>TypedArray.prototype.includes()</code></a></dt> <dd> <p>Determines whether a typed array includes a certain element, returning <code>true</code> or <code>false</code> as appropriate. See also <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes"><code>Array.prototype.includes()</code></a>.</p> </dd> <dt id="typedarray.prototype.indexof"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/indexOf"><code>TypedArray.prototype.indexOf()</code></a></dt> <dd> <p>Returns the first (least) index of an element within the array equal to the specified value, or <code>-1</code> if none is found. See also <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf"><code>Array.prototype.indexOf()</code></a>.</p> </dd> <dt id="typedarray.prototype.join"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/join"><code>TypedArray.prototype.join()</code></a></dt> <dd> <p>Joins all elements of an array into a string. See also <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/join"><code>Array.prototype.join()</code></a>.</p> </dd> <dt id="typedarray.prototype.keys"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/keys"><code>TypedArray.prototype.keys()</code></a></dt> <dd> <p>Returns a new array iterator that contains the keys for each index in the array. See also <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/keys"><code>Array.prototype.keys()</code></a>.</p> </dd> <dt id="typedarray.prototype.lastindexof"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/lastIndexOf"><code>TypedArray.prototype.lastIndexOf()</code></a></dt> <dd> <p>Returns the last (greatest) index of an element within the array equal to the specified value, or <code>-1</code> if none is found. See also <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/lastIndexOf"><code>Array.prototype.lastIndexOf()</code></a>.</p> </dd> <dt id="typedarray.prototype.map"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/map"><code>TypedArray.prototype.map()</code></a></dt> <dd> <p>Creates a new array with the results of calling a provided function on every element in this array. See also <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map"><code>Array.prototype.map()</code></a>.</p> </dd> <dt id="typedarray.prototype.reduce"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reduce"><code>TypedArray.prototype.reduce()</code></a></dt> <dd> <p>Apply a function against an accumulator and each value of the array (from left-to-right) as to reduce it to a single value. See also <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce"><code>Array.prototype.reduce()</code></a>.</p> </dd> <dt id="typedarray.prototype.reduceright"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reduceRight"><code>TypedArray.prototype.reduceRight()</code></a></dt> <dd> <p>Apply a function against an accumulator and each value of the array (from right-to-left) as to reduce it to a single value. See also <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduceRight"><code>Array.prototype.reduceRight()</code></a>.</p> </dd> <dt id="typedarray.prototype.reverse"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reverse"><code>TypedArray.prototype.reverse()</code></a></dt> <dd> <p>Reverses the order of the elements of an array — the first becomes the last, and the last becomes the first. See also <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reverse"><code>Array.prototype.reverse()</code></a>.</p> </dd> <dt id="typedarray.prototype.set"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/set"><code>TypedArray.prototype.set()</code></a></dt> <dd> <p>Stores multiple values in the typed array, reading input values from a specified array.</p> </dd> <dt id="typedarray.prototype.slice"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/slice"><code>TypedArray.prototype.slice()</code></a></dt> <dd> <p>Extracts a section of an array and returns a new array. See also <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice"><code>Array.prototype.slice()</code></a>.</p> </dd> <dt id="typedarray.prototype.some"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/some"><code>TypedArray.prototype.some()</code></a></dt> <dd> <p>Returns <code>true</code> if at least one element in this array satisfies the provided testing function. See also <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some"><code>Array.prototype.some()</code></a>.</p> </dd> <dt id="typedarray.prototype.sort"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/sort"><code>TypedArray.prototype.sort()</code></a></dt> <dd> <p>Sorts the elements of an array in place and returns the array. See also <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort"><code>Array.prototype.sort()</code></a>.</p> </dd> <dt id="typedarray.prototype.subarray"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/subarray"><code>TypedArray.prototype.subarray()</code></a></dt> <dd> <p>Returns a new <code>TypedArray</code> from the given start and end element index.</p> </dd> <dt id="typedarray.prototype.tolocalestring"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toLocaleString"><code>TypedArray.prototype.toLocaleString()</code></a></dt> <dd> <p>Returns a localized string representing the array and its elements. See also <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/toLocaleString"><code>Array.prototype.toLocaleString()</code></a>.</p> </dd> <dt id="typedarray.prototype.toreversed"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toReversed"><code>TypedArray.prototype.toReversed()</code></a></dt> <dd> <p>Returns a new array with the elements in reversed order, without modifying the original array.</p> </dd> <dt id="typedarray.prototype.tosorted"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toSorted"><code>TypedArray.prototype.toSorted()</code></a></dt> <dd> <p>Returns a new array with the elements sorted in ascending order, without modifying the original array.</p> </dd> <dt id="typedarray.prototype.tostring"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toString"><code>TypedArray.prototype.toString()</code></a></dt> <dd> <p>Returns a string representing the array and its elements. See also <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/toString"><code>Array.prototype.toString()</code></a>.</p> </dd> <dt id="typedarray.prototype.values"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/values"><code>TypedArray.prototype.values()</code></a></dt> <dd> <p>Returns a new <em>array iterator</em> object that contains the values for each index in the array. See also <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/values"><code>Array.prototype.values()</code></a>.</p> </dd> <dt id="typedarray.prototype.with"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/with"><code>TypedArray.prototype.with()</code></a></dt> <dd> <p>Returns a new array with the element at the given index replaced with the given value, without modifying the original array.</p> </dd> <dt id="typedarray.prototypesymbol.iterator"><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/Symbol.iterator"><code>TypedArray.prototype[Symbol.iterator]()</code></a></dt> <dd> <p>Returns a new <em>array iterator</em> object that contains the values for each index in the array.</p> </dd> </dl></div></section><section aria-labelledby="examples"><h2 id="examples"><a href="#examples">Examples</a></h2><div class="section-content"></div></section><section aria-labelledby="property_access"><h3 id="property_access"><a href="#property_access">Property access</a></h3><div class="section-content"><p> You can reference elements in the array using standard array index syntax (that is, using bracket notation). However, getting or setting indexed properties on typed arrays will not search in the prototype chain for this property, even when the indices are out of bound. Indexed properties will consult the <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer"><code>ArrayBuffer</code></a> and will never look at object properties. You can still use named properties, just like with all objects. </p> <div class="code-example"><div class="example-header"><span class="language-name">js</span></div><pre class="brush: js notranslate"><code>// Setting and getting using standard array syntax const int16 = new Int16Array(2); int16[0] = 42; console.log(int16[0]); // 42 // Indexed properties on prototypes are not consulted (Fx 25) Int8Array.prototype[20] = "foo"; new Int8Array(32)[20]; // 0 // even when out of bound Int8Array.prototype[20] = "foo"; new Int8Array(8)[20]; // undefined // or with negative integers Int8Array.prototype[-1] = "foo"; new Int8Array(8)[-1]; // undefined // Named properties are allowed, though (Fx 30) Int8Array.prototype.foo = "bar"; new Int8Array(32).foo; // "bar" </code></pre></div></div></section><section aria-labelledby="cannot_be_frozen"><h3 id="cannot_be_frozen"><a href="#cannot_be_frozen">Cannot be frozen</a></h3><div class="section-content"><p> <code>TypedArray</code>s that aren't empty cannot be frozen, as their underlying <code>ArrayBuffer</code> could be mutated through another <code>TypedArray</code> view of the buffer. This would mean that the object would never genuinely be frozen. </p> <div class="code-example"><div class="example-header"><span class="language-name">js</span></div><pre class="brush: js example-bad notranslate"><code>const i8 = Int8Array.of(1, 2, 3); Object.freeze(i8); // TypeError: Cannot freeze array buffer views with elements </code></pre></div></div></section><section aria-labelledby="byteoffset_must_be_aligned"><h3 id="byteoffset_must_be_aligned"><a href="#byteoffset_must_be_aligned">ByteOffset must be aligned</a></h3><div class="section-content"><p> When constructing a <code>TypedArray</code> as a view onto an <code>ArrayBuffer</code>, the <code>byteOffset</code> argument must be aligned to its element size; in other words, the offset must be a multiple of <code>BYTES_PER_ELEMENT</code>. </p> <div class="code-example"><div class="example-header"><span class="language-name">js</span></div><pre class="brush: js example-bad notranslate"><code>const i32 = new Int32Array(new ArrayBuffer(4), 1); // RangeError: start offset of Int32Array should be a multiple of 4 </code></pre></div> <div class="code-example"><div class="example-header"><span class="language-name">js</span></div><pre class="brush: js example-good notranslate"><code>const i32 = new Int32Array(new ArrayBuffer(4), 0); </code></pre></div></div></section><section aria-labelledby="bytelength_must_be_aligned"><h3 id="bytelength_must_be_aligned"><a href="#bytelength_must_be_aligned">ByteLength must be aligned</a></h3><div class="section-content"><p> Like the <code>byteOffset</code> parameter, the <code>byteLength</code> property of an <code>ArrayBuffer</code> passed to a <code>TypedArray</code>'s constructor must be a multiple of the constructor's <code>BYTES_PER_ELEMENT</code>. </p> <div class="code-example"><div class="example-header"><span class="language-name">js</span></div><pre class="brush: js example-bad notranslate"><code>const i32 = new Int32Array(new ArrayBuffer(3)); // RangeError: byte length of Int32Array should be a multiple of 4 </code></pre></div> <div class="code-example"><div class="example-header"><span class="language-name">js</span></div><pre class="brush: js example-good notranslate"><code>const i32 = new Int32Array(new ArrayBuffer(4)); </code></pre></div></div></section><h2 id="specifications"><a href="#specifications">Specifications</a></h2><table class="standard-table"><thead><tr><th scope="col">Specification</th></tr></thead><tbody><tr><td><a href="https://tc39.es/ecma262/multipage/indexed-collections.html#sec-typedarray-objects">ECMAScript Language Specification<!-- --> <br/><small># <!-- -->sec-typedarray-objects</small></a></td></tr></tbody></table><h2 id="browser_compatibility"><a href="#browser_compatibility">Browser compatibility</a></h2><p>BCD tables only load in the browser<noscript> <!-- -->with JavaScript enabled. Enable JavaScript to view data.</noscript></p><section aria-labelledby="see_also"><h2 id="see_also"><a href="#see_also">See also</a></h2><div class="section-content"><ul> <li><a href="https://github.com/zloirock/core-js#ecmascript-typed-arrays" class="external" target="_blank">Polyfill of typed arrays in <code>core-js</code></a></li> <li><a href="/en-US/docs/Web/JavaScript/Guide/Typed_arrays">JavaScript typed arrays</a> guide</li> <li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer"><code>ArrayBuffer</code></a></li> <li><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView"><code>DataView</code></a></li> <li><a href="/en-US/docs/Web/API/TextDecoder"><code>TextDecoder</code></a></li> </ul></div></section></article><aside class="article-footer"><div class="article-footer-inner"><div class="svg-container"><svg xmlns="http://www.w3.org/2000/svg" width="162" height="162" viewBox="0 0 162 162" fill="none" role="none"><mask id="b" fill="#fff"><path d="M97.203 47.04c8.113-7.886 18.004-13.871 28.906-17.492a78 78 0 0 1 33.969-3.39c11.443 1.39 22.401 5.295 32.024 11.411s17.656 14.28 23.476 23.86c5.819 9.579 9.269 20.318 10.083 31.385a69.85 69.85 0 0 1-5.387 32.44c-4.358 10.272-11.115 19.443-19.747 26.801-8.632 7.359-18.908 12.709-30.034 15.637l-6.17-21.698c7.666-2.017 14.746-5.703 20.694-10.773 5.948-5.071 10.603-11.389 13.606-18.467a48.14 48.14 0 0 0 3.712-22.352c-.561-7.625-2.938-15.025-6.948-21.625s-9.544-12.226-16.175-16.44-14.181-6.904-22.065-7.863a53.75 53.75 0 0 0-23.405 2.336c-7.513 2.495-14.327 6.62-19.918 12.053z"></path></mask><path stroke="url(#a)" stroke-dasharray="6, 6" stroke-width="2" d="M97.203 47.04c8.113-7.886 18.004-13.871 28.906-17.492a78 78 0 0 1 33.969-3.39c11.443 1.39 22.401 5.295 32.024 11.411s17.656 14.28 23.476 23.86c5.819 9.579 9.269 20.318 10.083 31.385a69.85 69.85 0 0 1-5.387 32.44c-4.358 10.272-11.115 19.443-19.747 26.801-8.632 7.359-18.908 12.709-30.034 15.637l-6.17-21.698c7.666-2.017 14.746-5.703 20.694-10.773 5.948-5.071 10.603-11.389 13.606-18.467a48.14 48.14 0 0 0 3.712-22.352c-.561-7.625-2.938-15.025-6.948-21.625s-9.544-12.226-16.175-16.44-14.181-6.904-22.065-7.863a53.75 53.75 0 0 0-23.405 2.336c-7.513 2.495-14.327 6.62-19.918 12.053z" mask="url(#b)" style="stroke:url(#a)" transform="translate(-63.992 -25.587)"></path><ellipse cx="8.066" cy="111.597" fill="var(--background-tertiary)" rx="53.677" ry="53.699" transform="matrix(.71707 -.697 .7243 .6895 0 0)"></ellipse><g clip-path="url(#c)" transform="translate(-63.992 -25.587)"><path fill="#9abff5" d="m144.256 137.379 32.906 12.434a4.41 4.41 0 0 1 2.559 5.667l-9.326 24.679a4.41 4.41 0 0 1-5.667 2.559l-8.226-3.108-2.332 6.17c-.466 1.233-.375 1.883-1.609 1.417l-2.253-.527c-.411-.155-.95-.594-1.206-1.161l-4.734-10.484-12.545-4.741a4.41 4.41 0 0 1-2.559-5.667l9.325-24.679a4.41 4.41 0 0 1 5.667-2.559m9.961 29.617 8.227 3.108 3.264-8.638-.498-6.768-4.113-1.555.548 7.258-4.319-1.632zm-12.339-4.663 8.226 3.108 3.264-8.637-.498-6.769-4.113-1.554.548 7.257-4.319-1.632z"></path></g><g clip-path="url(#d)" transform="translate(-63.992 -25.587)"><path fill="#81b0f3" d="M135.35 60.136 86.67 41.654c-3.346-1.27-7.124.428-8.394 3.775L64.414 81.938c-1.27 3.347.428 7.125 3.774 8.395l12.17 4.62-3.465 9.128c-.693 1.826-1.432 2.457.394 3.15l3.014 1.625c.609.231 1.637.274 2.477-.104l15.53-6.983 18.56 7.047c3.346 1.27 7.124-.428 8.395-3.775l13.862-36.51c1.27-3.346-.428-7.124-3.775-8.395M95.261 83.207l-12.17-4.62 4.852-12.779 7.19-7.017 6.085 2.31-7.725 7.51 6.389 2.426zm18.255 6.93-12.17-4.62 4.852-12.778 7.189-7.017 6.085 2.31-7.725 7.51 6.39 2.426z"></path></g><defs><clipPath id="c"><path fill="#fff" d="m198.638 146.586-65.056-24.583-24.583 65.057 65.056 24.582z"></path></clipPath><clipPath id="d"><path fill="#fff" d="m66.438 14.055 96.242 36.54-36.54 96.243-96.243-36.54z"></path></clipPath><linearGradient id="a" x1="97.203" x2="199.995" y1="47.04" y2="152.793" gradientUnits="userSpaceOnUse"><stop stop-color="#086DFC"></stop><stop offset="0.246" stop-color="#2C81FA"></stop><stop offset="0.516" stop-color="#5497F8"></stop><stop offset="0.821" stop-color="#80B0F6"></stop><stop offset="1" stop-color="#9ABFF5"></stop></linearGradient></defs></svg></div><h2>Help improve MDN</h2><fieldset class="feedback"><label>Was this page helpful to you?</label><div class="button-container"><button type="button" class="button primary has-icon yes"><span class="button-wrap"><span class="icon icon-thumbs-up "></span>Yes</span></button><button type="button" class="button primary has-icon no"><span class="button-wrap"><span class="icon icon-thumbs-down "></span>No</span></button></div></fieldset><a class="contribute" href="https://github.com/mdn/content/blob/main/CONTRIBUTING.md" title="This will take you to our contribution guidelines on GitHub." target="_blank" rel="noopener noreferrer">Learn how to contribute</a>.<p class="last-modified-date">This page was last modified on<!-- --> <time dateTime="2024-07-25T21:32:46.000Z">Jul 25, 2024</time> by<!-- --> <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/contributors.txt" rel="nofollow">MDN contributors</a>.</p><div id="on-github" class="on-github"><a href="https://github.com/mdn/content/blob/main/files/en-us/web/javascript/reference/global_objects/typedarray/index.md?plain=1" title="Folder: en-us/web/javascript/reference/global_objects/typedarray (Opens in a new tab)" target="_blank" rel="noopener noreferrer">View this page on GitHub</a> <!-- -->•<!-- --> <a href="https://github.com/mdn/content/issues/new?template=page-report.yml&amp;mdn-url=https%3A%2F%2Fdeveloper.mozilla.org%2Fen-US%2Fdocs%2FWeb%2FJavaScript%2FReference%2FGlobal_Objects%2FTypedArray&amp;metadata=%3C%21--+Do+not+make+changes+below+this+line+--%3E%0A%3Cdetails%3E%0A%3Csummary%3EPage+report+details%3C%2Fsummary%3E%0A%0A*+Folder%3A+%60en-us%2Fweb%2Fjavascript%2Freference%2Fglobal_objects%2Ftypedarray%60%0A*+MDN+URL%3A+https%3A%2F%2Fdeveloper.mozilla.org%2Fen-US%2Fdocs%2FWeb%2FJavaScript%2FReference%2FGlobal_Objects%2FTypedArray%0A*+GitHub+URL%3A+https%3A%2F%2Fgithub.com%2Fmdn%2Fcontent%2Fblob%2Fmain%2Ffiles%2Fen-us%2Fweb%2Fjavascript%2Freference%2Fglobal_objects%2Ftypedarray%2Findex.md%0A*+Last+commit%3A+https%3A%2F%2Fgithub.com%2Fmdn%2Fcontent%2Fcommit%2F8421c0cd94fa5aa237c833ac6d24885edbc7d721%0A*+Document+last+modified%3A+2024-07-25T21%3A32%3A46.000Z%0A%0A%3C%2Fdetails%3E" title="This will take you to GitHub to file a new issue." target="_blank" rel="noopener noreferrer">Report a problem with this content</a></div></div></aside></main></div></div><footer id="nav-footer" class="page-footer"><div class="page-footer-grid"><div class="page-footer-logo-col"><a href="/" class="mdn-footer-logo" aria-label="MDN homepage"><svg width="48" height="17" viewBox="0 0 48 17" fill="none" xmlns="http://www.w3.org/2000/svg"><title id="mdn-footer-logo-svg">MDN logo</title><path d="M20.04 16.512H15.504V10.416C15.504 9.488 15.344 8.824 15.024 8.424C14.72 8.024 14.264 7.824 13.656 7.824C12.92 7.824 12.384 8.064 12.048 8.544C11.728 9.024 11.568 9.64 11.568 10.392V14.184H13.008V16.512H8.472V10.416C8.472 9.488 8.312 8.824 7.992 8.424C7.688 8.024 7.232 7.824 6.624 7.824C5.872 7.824 5.336 8.064 5.016 8.544C4.696 9.024 4.536 9.64 4.536 10.392V14.184H6.6V16.512H0V14.184H1.44V8.04H0.024V5.688H4.536V7.32C5.224 6.088 6.32 5.472 7.824 5.472C8.608 5.472 9.328 5.664 9.984 6.048C10.64 6.432 11.096 7.016 11.352 7.8C11.992 6.248 13.168 5.472 14.88 5.472C15.856 5.472 16.72 5.776 17.472 6.384C18.224 6.992 18.6 7.936 18.6 9.216V14.184H20.04V16.512Z" fill="currentColor"></path><path d="M33.6714 16.512H29.1354V14.496C28.8314 15.12 28.3834 15.656 27.7914 16.104C27.1994 16.536 26.4154 16.752 25.4394 16.752C24.0154 16.752 22.8954 16.264 22.0794 15.288C21.2634 14.312 20.8554 12.984 20.8554 11.304C20.8554 9.688 21.2554 8.312 22.0554 7.176C22.8554 6.04 24.0634 5.472 25.6794 5.472C26.5594 5.472 27.2794 5.648 27.8394 6C28.3994 6.352 28.8314 6.8 29.1354 7.344V2.352H26.9754V0H32.2314V14.184H33.6714V16.512ZM29.1354 11.04V10.776C29.1354 9.88 28.8954 9.184 28.4154 8.688C27.9514 8.176 27.3674 7.92 26.6634 7.92C25.9754 7.92 25.3674 8.176 24.8394 8.688C24.3274 9.2 24.0714 10.008 24.0714 11.112C24.0714 12.152 24.3114 12.944 24.7914 13.488C25.2714 14.032 25.8394 14.304 26.4954 14.304C27.3114 14.304 27.9514 13.96 28.4154 13.272C28.8954 12.584 29.1354 11.84 29.1354 11.04Z" fill="currentColor"></path><path d="M47.9589 16.512H41.9829V14.184H43.4229V10.416C43.4229 9.488 43.2629 8.824 42.9429 8.424C42.6389 8.024 42.1829 7.824 41.5749 7.824C40.8389 7.824 40.2709 8.056 39.8709 8.52C39.4709 8.968 39.2629 9.56 39.2469 10.296V14.184H40.6869V16.512H34.7109V14.184H36.1509V8.04H34.5909V5.688H39.2469V7.344C39.9669 6.096 41.1269 5.472 42.7269 5.472C43.7509 5.472 44.6389 5.776 45.3909 6.384C46.1429 6.992 46.5189 7.936 46.5189 9.216V14.184H47.9589V16.512Z" fill="currentColor"></path></svg></a><p>Your blueprint for a better internet.</p><ul class="social-icons"><li><a href="https://mozilla.social/@mdn" target="_blank" rel="me noopener noreferrer"><span class="icon icon-mastodon"></span><span class="visually-hidden">MDN on Mastodon</span></a></li><li><a href="https://twitter.com/mozdevnet" target="_blank" rel="noopener noreferrer"><span class="icon icon-twitter-x"></span><span class="visually-hidden">MDN on X (formerly Twitter)</span></a></li><li><a href="https://github.com/mdn/" target="_blank" rel="noopener noreferrer"><span class="icon icon-github-mark-small"></span><span class="visually-hidden">MDN on GitHub</span></a></li><li><a href="/en-US/blog/rss.xml" target="_blank"><span class="icon icon-feed"></span><span class="visually-hidden">MDN Blog RSS Feed</span></a></li></ul></div><div class="page-footer-nav-col-1"><h2 class="footer-nav-heading">MDN</h2><ul class="footer-nav-list"><li class="footer-nav-item"><a href="/en-US/about">About</a></li><li class="footer-nav-item"><a href="/en-US/blog/">Blog</a></li><li class="footer-nav-item"><a href="https://www.mozilla.org/en-US/careers/listings/?team=ProdOps" target="_blank" rel="noopener noreferrer">Careers</a></li><li class="footer-nav-item"><a href="/en-US/advertising">Advertise with us</a></li></ul></div><div class="page-footer-nav-col-2"><h2 class="footer-nav-heading">Support</h2><ul class="footer-nav-list"><li class="footer-nav-item"><a class="footer-nav-link" href="https://support.mozilla.org/products/mdn-plus">Product help</a></li><li class="footer-nav-item"><a class="footer-nav-link" href="/en-US/docs/MDN/Community/Issues">Report an issue</a></li></ul></div><div class="page-footer-nav-col-3"><h2 class="footer-nav-heading">Our communities</h2><ul class="footer-nav-list"><li class="footer-nav-item"><a class="footer-nav-link" href="/en-US/community">MDN Community</a></li><li class="footer-nav-item"><a class="footer-nav-link" href="https://discourse.mozilla.org/c/mdn/236" target="_blank" rel="noopener noreferrer">MDN Forum</a></li><li class="footer-nav-item"><a class="footer-nav-link" href="/discord" target="_blank" rel="noopener noreferrer">MDN Chat</a></li></ul></div><div class="page-footer-nav-col-4"><h2 class="footer-nav-heading">Developers</h2><ul class="footer-nav-list"><li class="footer-nav-item"><a class="footer-nav-link" href="/en-US/docs/Web">Web Technologies</a></li><li class="footer-nav-item"><a class="footer-nav-link" href="/en-US/docs/Learn">Learn Web Development</a></li><li class="footer-nav-item"><a class="footer-nav-link" href="/en-US/plus">MDN Plus</a></li><li class="footer-nav-item"><a href="https://hacks.mozilla.org/" target="_blank" rel="noopener noreferrer">Hacks Blog</a></li></ul></div><div class="page-footer-moz"><a href="https://www.mozilla.org/" class="footer-moz-logo-link" target="_blank" rel="noopener noreferrer"><svg width="112" height="32" fill="none" xmlns="http://www.w3.org/2000/svg"><title id="mozilla-footer-logo-svg">Mozilla logo</title><path d="M41.753 14.218c-2.048 0-3.324 1.522-3.324 4.157 0 2.423 1.119 4.286 3.29 4.286 2.082 0 3.447-1.678 3.447-4.347 0-2.826-1.522-4.096-3.413-4.096Zm54.89 7.044c0 .901.437 1.618 1.645 1.618 1.427 0 2.949-1.024 3.044-3.352-.649-.095-1.365-.185-2.02-.185-1.426-.005-2.668.397-2.668 1.92Z" fill="currentColor"></path><path d="M0 0v32h111.908V0H0Zm32.56 25.426h-5.87v-7.884c0-2.423-.806-3.352-2.39-3.352-1.924 0-2.702 1.365-2.702 3.324v4.868h1.864v3.044h-5.864v-7.884c0-2.423-.806-3.352-2.39-3.352-1.924 0-2.702 1.365-2.702 3.324v4.868h2.669v3.044H6.642v-3.044h1.863v-7.918H6.642V11.42h5.864v2.11c.839-1.489 2.3-2.39 4.252-2.39 2.02 0 3.878.963 4.566 3.01.778-1.862 2.361-3.01 4.566-3.01 2.512 0 4.812 1.522 4.812 4.84v6.402h1.863v3.044h-.005Zm9.036.307c-4.314 0-7.296-2.635-7.296-7.106 0-4.096 2.484-7.481 7.514-7.481s7.481 3.38 7.481 7.29c0 4.472-3.228 7.297-7.699 7.297Zm22.578-.307H51.942l-.403-2.11 7.7-8.846h-4.376l-.621 2.17-2.888-.313.498-4.907h12.294l.313 2.11-7.767 8.852h4.533l.654-2.172 3.167.308-.872 4.908Zm7.99 0h-4.191v-5.03h4.19v5.03Zm0-8.976h-4.191v-5.03h4.19v5.03Zm2.618 8.976 6.054-21.358h3.945l-6.054 21.358h-3.945Zm8.136 0 6.048-21.358h3.945l-6.054 21.358h-3.939Zm21.486.307c-1.863 0-2.887-1.085-3.072-2.792-.805 1.427-2.232 2.792-4.498 2.792-2.02 0-4.314-1.085-4.314-4.006 0-3.447 3.323-4.253 6.518-4.253.778 0 1.584.034 2.3.124v-.465c0-1.427-.034-3.133-2.3-3.133-.84 0-1.488.061-2.143.402l-.453 1.578-3.195-.34.549-3.224c2.45-.996 3.692-1.27 5.992-1.27 3.01 0 5.556 1.55 5.556 4.75v6.083c0 .805.314 1.085.963 1.085.184 0 .375-.034.587-.095l.034 2.11a5.432 5.432 0 0 1-2.524.654Z" fill="currentColor"></path></svg></a><ul class="footer-moz-list"><li class="footer-moz-item"><a href="https://www.mozilla.org/privacy/websites/" class="footer-moz-link" target="_blank" rel="noopener noreferrer">Website Privacy Notice</a></li><li class="footer-moz-item"><a href="https://www.mozilla.org/privacy/websites/#cookies" class="footer-moz-link" target="_blank" rel="noopener noreferrer">Cookies</a></li><li class="footer-moz-item"><a href="https://www.mozilla.org/about/legal/terms/mozilla" class="footer-moz-link" target="_blank" rel="noopener noreferrer">Legal</a></li><li class="footer-moz-item"><a href="https://www.mozilla.org/about/governance/policies/participation/" class="footer-moz-link" target="_blank" rel="noopener noreferrer">Community Participation Guidelines</a></li></ul></div><div class="page-footer-legal"><p id="license" class="page-footer-legal-text">Visit<!-- --> <a href="https://www.mozilla.org" target="_blank" rel="noopener noreferrer">Mozilla Corporation’s</a> <!-- -->not-for-profit parent, the<!-- --> <a target="_blank" rel="noopener noreferrer" href="https://foundation.mozilla.org/">Mozilla Foundation</a>.<br/>Portions of this content are ©1998–<!-- -->2024<!-- --> by individual mozilla.org contributors. Content available under<!-- --> <a href="/en-US/docs/MDN/Writing_guidelines/Attrib_copyright_license">a Creative Commons license</a>.</p></div></div></footer></div><script type="application/json" id="hydration">{"url":"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray","doc":{"isMarkdown":true,"isTranslated":false,"isActive":true,"flaws":{},"title":"TypedArray","mdn_url":"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray","locale":"en-US","native":"English (US)","browserCompat":["javascript.builtins.TypedArray"],"baseline":{"baseline":"high","baseline_high_date":"2018-01-29","baseline_low_date":"2015-07-29","support":{"chrome":"7","chrome_android":"18","edge":"12","firefox":"4","firefox_android":"4","safari":"5.1","safari_ios":"4.2"}},"sidebarHTML":"<ol><li class=\"section\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects\">Standard built-in objects</a></li><li class=\"section\"><em><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray\" aria-current=\"page\"><code>TypedArray</code></a></em></li><li><details open=\"\"><summary>Static methods</summary><ol><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from\"><code>TypedArray.from()</code></a></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of\"><code>TypedArray.of()</code></a></li></ol></details></li><li><details open=\"\"><summary>Static properties</summary><ol><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/BYTES_PER_ELEMENT\"><code>TypedArray.BYTES_PER_ELEMENT</code></a></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/Symbol.species\"><code>TypedArray[Symbol.species]</code></a></li></ol></details></li><li><details open=\"\"><summary>Instance methods</summary><ol><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/at\"><code>TypedArray.prototype.at()</code></a></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/copyWithin\"><code>TypedArray.prototype.copyWithin()</code></a></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/entries\"><code>TypedArray.prototype.entries()</code></a></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/every\"><code>TypedArray.prototype.every()</code></a></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/fill\"><code>TypedArray.prototype.fill()</code></a></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/filter\"><code>TypedArray.prototype.filter()</code></a></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/find\"><code>TypedArray.prototype.find()</code></a></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findIndex\"><code>TypedArray.prototype.findIndex()</code></a></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findLast\"><code>TypedArray.prototype.findLast()</code></a></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findLastIndex\"><code>TypedArray.prototype.findLastIndex()</code></a></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/forEach\"><code>TypedArray.prototype.forEach()</code></a></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/includes\"><code>TypedArray.prototype.includes()</code></a></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/indexOf\"><code>TypedArray.prototype.indexOf()</code></a></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/join\"><code>TypedArray.prototype.join()</code></a></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/keys\"><code>TypedArray.prototype.keys()</code></a></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/lastIndexOf\"><code>TypedArray.prototype.lastIndexOf()</code></a></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/map\"><code>TypedArray.prototype.map()</code></a></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reduce\"><code>TypedArray.prototype.reduce()</code></a></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reduceRight\"><code>TypedArray.prototype.reduceRight()</code></a></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reverse\"><code>TypedArray.prototype.reverse()</code></a></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/set\"><code>TypedArray.prototype.set()</code></a></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/slice\"><code>TypedArray.prototype.slice()</code></a></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/some\"><code>TypedArray.prototype.some()</code></a></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/sort\"><code>TypedArray.prototype.sort()</code></a></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/subarray\"><code>TypedArray.prototype.subarray()</code></a></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/Symbol.iterator\"><code>TypedArray.prototype[Symbol.iterator]()</code></a></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toLocaleString\"><code>TypedArray.prototype.toLocaleString()</code></a></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toReversed\"><code>TypedArray.prototype.toReversed()</code></a></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toSorted\"><code>TypedArray.prototype.toSorted()</code></a></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toString\"><code>TypedArray.prototype.toString()</code></a></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/values\"><code>TypedArray.prototype.values()</code></a></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/with\"><code>TypedArray.prototype.with()</code></a></li></ol></details></li><li><details open=\"\"><summary>Instance properties</summary><ol><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/buffer\"><code>TypedArray.prototype.buffer</code></a></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/byteLength\"><code>TypedArray.prototype.byteLength</code></a></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/byteOffset\"><code>TypedArray.prototype.byteOffset</code></a></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/length\"><code>TypedArray.prototype.length</code></a></li></ol></details></li><li class=\"section no-link\">Inheritance</li><li class=\"section\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object\"><code>Object/Function</code></a></li><li><details><summary>Static methods</summary><ol><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/apply\"><code>Function.prototype.apply()</code></a></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind\"><code>Function.prototype.bind()</code></a></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/call\"><code>Function.prototype.call()</code></a></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/Symbol.hasInstance\"><code>Function.prototype[Symbol.hasInstance]()</code></a></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/toString\"><code>Function.prototype.toString()</code></a></li></ol></details></li><li><details><summary>Static properties</summary><ol><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/arguments\"><code>Function.prototype.arguments</code></a><abbr class=\"icon icon-nonstandard\" title=\"Non-standard. Check cross-browser support before using.\">\n <span class=\"visually-hidden\">Non-standard</span>\n</abbr><abbr class=\"icon icon-deprecated\" title=\"Deprecated. Not for use in new websites.\">\n <span class=\"visually-hidden\">Deprecated</span>\n</abbr></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/caller\"><code>Function.prototype.caller</code></a><abbr class=\"icon icon-nonstandard\" title=\"Non-standard. Check cross-browser support before using.\">\n <span class=\"visually-hidden\">Non-standard</span>\n</abbr><abbr class=\"icon icon-deprecated\" title=\"Deprecated. Not for use in new websites.\">\n <span class=\"visually-hidden\">Deprecated</span>\n</abbr></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/displayName\"><code>Function: displayName</code></a><abbr class=\"icon icon-nonstandard\" title=\"Non-standard. Check cross-browser support before using.\">\n <span class=\"visually-hidden\">Non-standard</span>\n</abbr></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/length\"><code>Function: length</code></a></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/name\"><code>Function: name</code></a></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/prototype\"><code>Function: prototype</code></a></li></ol></details></li><li><details><summary>Instance methods</summary><ol><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/__defineGetter__\"><code>Object.prototype.__defineGetter__()</code></a><abbr class=\"icon icon-deprecated\" title=\"Deprecated. Not for use in new websites.\">\n <span class=\"visually-hidden\">Deprecated</span>\n</abbr></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/__defineSetter__\"><code>Object.prototype.__defineSetter__()</code></a><abbr class=\"icon icon-deprecated\" title=\"Deprecated. Not for use in new websites.\">\n <span class=\"visually-hidden\">Deprecated</span>\n</abbr></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/__lookupGetter__\"><code>Object.prototype.__lookupGetter__()</code></a><abbr class=\"icon icon-deprecated\" title=\"Deprecated. Not for use in new websites.\">\n <span class=\"visually-hidden\">Deprecated</span>\n</abbr></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/__lookupSetter__\"><code>Object.prototype.__lookupSetter__()</code></a><abbr class=\"icon icon-deprecated\" title=\"Deprecated. Not for use in new websites.\">\n <span class=\"visually-hidden\">Deprecated</span>\n</abbr></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/hasOwnProperty\"><code>Object.prototype.hasOwnProperty()</code></a></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isPrototypeOf\"><code>Object.prototype.isPrototypeOf()</code></a></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/propertyIsEnumerable\"><code>Object.prototype.propertyIsEnumerable()</code></a></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toLocaleString\"><code>Object.prototype.toLocaleString()</code></a></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toString\"><code>Object.prototype.toString()</code></a></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/valueOf\"><code>Object.prototype.valueOf()</code></a></li></ol></details></li><li><details><summary>Instance properties</summary><ol><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/constructor\"><code>Object.prototype.constructor</code></a></li><li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/proto\"><code>Object.prototype.__proto__</code></a><abbr class=\"icon icon-deprecated\" title=\"Deprecated. Not for use in new websites.\">\n <span class=\"visually-hidden\">Deprecated</span>\n</abbr></li></ol></details></li><li class=\"section no-link\">Related pages</li><li class=\"section\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt64Array\"><code>BigInt64Array</code></a></li><li class=\"section\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigUint64Array\"><code>BigUint64Array</code></a></li><li class=\"section\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array\"><code>Float32Array</code></a></li><li class=\"section\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float64Array\"><code>Float64Array</code></a></li><li class=\"section\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int8Array\"><code>Int8Array</code></a></li><li class=\"section\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int16Array\"><code>Int16Array</code></a></li><li class=\"section\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int32Array\"><code>Int32Array</code></a></li><li class=\"section\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array\"><code>Uint8Array</code></a></li><li class=\"section\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8ClampedArray\"><code>Uint8ClampedArray</code></a></li><li class=\"section\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint16Array\"><code>Uint16Array</code></a></li><li class=\"section\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint32Array\"><code>Uint32Array</code></a></li></ol>","sidebarMacro":"JSRef","body":[{"type":"prose","value":{"id":null,"title":null,"isH3":false,"content":"<p>\n A <strong><em>TypedArray</em></strong> object describes an array-like view of an\n underlying <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer\">binary data buffer</a>.\n There is no global property named <code>TypedArray</code>, nor is there a\n directly visible <code>TypedArray</code> constructor. Instead, there are a number of\n different global properties, whose values are typed array constructors for specific\n element types, listed below. On the following pages you will find common properties and\n methods that can be used with any typed array containing elements of any type.\n</p>"}},{"type":"prose","value":{"id":"try_it","title":"Try it","isH3":false,"content":"<iframe class=\"interactive is-js-height\" height=\"200\" src=\"https://interactive-examples.mdn.mozilla.net/pages/js/typedarray-constructor.html\" title=\"MDN Web Docs Interactive Example\" allow=\"clipboard-write\" loading=\"lazy\"></iframe>"}},{"type":"prose","value":{"id":"description","title":"Description","isH3":false,"content":"<p>The <code>TypedArray</code> constructor (often referred to as <code>%TypedArray%</code> to indicate its \"intrinsicness\", since it does not correspond to any global exposed to a JavaScript program) serves as the common superclass of all <code>TypedArray</code> subclasses. Think about <code>%TypedArray%</code> as an \"abstract class\" providing a common interface of utility methods for all typed array subclasses. This constructor is not directly exposed: there is no global <code>TypedArray</code> property. It is only accessible through <code>Object.getPrototypeOf(Int8Array)</code> and similar.</p>\n<p>When creating an instance of a <code>TypedArray</code> subclass (e.g. <code>Int8Array</code>), an array buffer is created internally in memory or, if an <code>ArrayBuffer</code> object is given as constructor argument, that <code>ArrayBuffer</code> is used instead. The buffer address is saved as an internal property of the instance and all the methods of <code>%TypedArray%.prototype</code> will set and get values based on that array buffer address.</p>"}},{"type":"prose","value":{"id":"typedarray_objects","title":"TypedArray objects","isH3":true,"content":"<figure class=\"table-container\"><table>\n <thead>\n <tr>\n <th>Type</th>\n <th>Value Range</th>\n <th>Size in bytes</th>\n <th>Web IDL type</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int8Array\"><code>Int8Array</code></a></td>\n <td>-128 to 127</td>\n <td>1</td>\n <td><code>byte</code></td>\n </tr>\n <tr>\n <td><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array\"><code>Uint8Array</code></a></td>\n <td>0 to 255</td>\n <td>1</td>\n <td><code>octet</code></td>\n </tr>\n <tr>\n <td><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8ClampedArray\"><code>Uint8ClampedArray</code></a></td>\n <td>0 to 255</td>\n <td>1</td>\n <td><code>octet</code></td>\n </tr>\n <tr>\n <td><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int16Array\"><code>Int16Array</code></a></td>\n <td>-32768 to 32767</td>\n <td>2</td>\n <td><code>short</code></td>\n </tr>\n <tr>\n <td><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint16Array\"><code>Uint16Array</code></a></td>\n <td>0 to 65535</td>\n <td>2</td>\n <td><code>unsigned short</code></td>\n </tr>\n <tr>\n <td><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int32Array\"><code>Int32Array</code></a></td>\n <td>-2147483648 to 2147483647</td>\n <td>4</td>\n <td><code>long</code></td>\n </tr>\n <tr>\n <td><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint32Array\"><code>Uint32Array</code></a></td>\n <td>0 to 4294967295</td>\n <td>4</td>\n <td><code>unsigned long</code></td>\n </tr>\n <tr>\n <td><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float16Array\"><code>Float16Array</code></a></td>\n <td><code>-65504</code> to <code>65504</code></td>\n <td>2</td>\n <td>N/A</td>\n </tr>\n <tr>\n <td><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array\"><code>Float32Array</code></a></td>\n <td><code>-3.4e38</code> to <code>3.4e38</code></td>\n <td>4</td>\n <td><code>unrestricted float</code></td>\n </tr>\n <tr>\n <td><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float64Array\"><code>Float64Array</code></a></td>\n <td><code>-1.8e308</code> to <code>1.8e308</code></td>\n <td>8</td>\n <td><code>unrestricted double</code></td>\n </tr>\n <tr>\n <td><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt64Array\"><code>BigInt64Array</code></a></td>\n <td>-2<sup>63</sup> to 2<sup>63</sup> - 1</td>\n <td>8</td>\n <td><code>bigint</code></td>\n </tr>\n <tr>\n <td><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigUint64Array\"><code>BigUint64Array</code></a></td>\n <td>0 to 2<sup>64</sup> - 1</td>\n <td>8</td>\n <td><code>bigint</code></td>\n </tr>\n </tbody>\n</table></figure>"}},{"type":"prose","value":{"id":"value_encoding_and_normalization","title":"Value encoding and normalization","isH3":true,"content":"<p>All typed arrays operate on <code>ArrayBuffer</code>s, where you can observe the exact byte representation of each element, so how the numbers are encoded in binary format is significant.</p>\n<ul>\n <li>Unsigned integer arrays (<code>Uint8Array</code>, <code>Uint16Array</code>, <code>Uint32Array</code>, and <code>BigUint64Array</code>) store the number directly in binary.</li>\n <li>Signed integer arrays (<code>Int8Array</code>, <code>Int16Array</code>, <code>Int32Array</code>, and <code>BigInt64Array</code>) store the number using <a href=\"https://en.wikipedia.org/wiki/Two's_complement\" class=\"external\" target=\"_blank\">two's complement</a>.</li>\n <li>Floating-point arrays (<code>Float16Array</code>, <code>Float32Array</code>, and <code>Float64Array</code>) store the number using <a href=\"https://en.wikipedia.org/wiki/IEEE_754\" class=\"external\" target=\"_blank\">IEEE 754</a> floating-point format. The <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number#number_encoding\"><code>Number</code></a> reference has more information about the exact format. JavaScript numbers use double precision floating point format by default, which is the same as <code>Float64Array</code>. <code>Float32Array</code> uses 23 (instead of 52) bits for the mantissa and 8 (instead of 11) bits for the exponent. <code>Float16Array</code> uses 10 bits for the mantissa and 5 bits for the exponent. Note that the spec requires all <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/NaN\"><code>NaN</code></a> values to use the same bit encoding, but the exact bit pattern is implementation-dependent.</li>\n <li><code>Uint8ClampedArray</code> is a special case. It stores the number in binary like <code>Uint8Array</code> does, but when you store a number outside the range, it <em>clamps</em> the number to the range 0 to 255 by mathematical value, instead of truncating the most significant bits.</li>\n</ul>\n<p>All typed arrays except <code>Int8Array</code>, <code>Uint8Array</code>, and <code>Uint8ClampedArray</code> store each element using multiple bytes. These bytes can either be ordered from most significant to least significant (big-endian) or from least significant to most significant (little-endian). See <a href=\"/en-US/docs/Glossary/Endianness\">Endianness</a> for more explanation. Typed arrays always use the platform's native byte order. If you want to specify the endianness when writing and reading from buffers, you should use a <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView\"><code>DataView</code></a> instead.</p>\n<p>When writing to these typed arrays, values that are outside the representable range are normalized.</p>\n<ul>\n <li>All integer arrays (except <code>Uint8ClampedArray</code>) use <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number#fixed-width_number_conversion\">fixed-width number conversion</a>, which first truncates the decimal part of the number and then takes the lowest bits.</li>\n <li><code>Uint8ClampedArray</code> first clamps the number to the range 0 to 255 (values greater than 255 become 255 and values less than 0 become 0). It then <em>rounds</em> (instead of flooring) the result to the nearest integer, with half-to-even; meaning if the number is exactly between two integers, it rounds to the nearest even integer. For example, <code>0.5</code> becomes <code>0</code>, <code>1.5</code> becomes <code>2</code>, and <code>2.5</code> becomes <code>2</code>.</li>\n <li><code>Float16Array</code> and <code>Float32Array</code> perform a \"round to even\" to convert 64-bit floating point numbers to 32-bit and 16-bit. This is the same algorithm as provided by <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/fround\"><code>Math.fround()</code></a> and <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/f16round\"><code>Math.f16round()</code></a>.</li>\n</ul>"}},{"type":"prose","value":{"id":"behavior_when_viewing_a_resizable_buffer","title":"Behavior when viewing a resizable buffer","isH3":true,"content":"<p>When a <code>TypedArray</code> is created as a view of a <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer#resizing_arraybuffers\">resizable buffer</a>, resizing the underlying buffer will have different effects on the size of the <code>TypedArray</code> depending on whether the <code>TypedArray</code> is constructed as length-tracking.</p>\n<p>If a typed array is created without a specific size by omitting the third parameter or passing <code>undefined</code>, the typed array will become <em>length-tracking</em>, and will automatically resize to fit the underlying <code>buffer</code> as the latter is resized:</p>\n<div class=\"code-example\"><div class=\"example-header\"><span class=\"language-name\">js</span></div><pre class=\"brush: js notranslate\"><code>const buffer = new ArrayBuffer(8, { maxByteLength: 16 });\nconst float32 = new Float32Array(buffer);\n\nconsole.log(float32.byteLength); // 8\nconsole.log(float32.length); // 2\n\nbuffer.resize(12);\n\nconsole.log(float32.byteLength); // 12\nconsole.log(float32.length); // 3\n</code></pre></div>\n<p>If a typed array is created with a specific size using the third <code>length</code> parameter, it won't resize to contain the <code>buffer</code> as the latter is grown:</p>\n<div class=\"code-example\"><div class=\"example-header\"><span class=\"language-name\">js</span></div><pre class=\"brush: js notranslate\"><code>const buffer = new ArrayBuffer(8, { maxByteLength: 16 });\nconst float32 = new Float32Array(buffer, 0, 2);\n\nconsole.log(float32.byteLength); // 8\nconsole.log(float32.length); // 2\nconsole.log(float32[0]); // 0, the initial value\n\nbuffer.resize(12);\n\nconsole.log(float32.byteLength); // 8\nconsole.log(float32.length); // 2\nconsole.log(float32[0]); // 0, the initial value\n</code></pre></div>\n<p>When a <code>buffer</code> is shrunk, the viewing typed array may become out of bounds, in which case the typed array's observed size will decrease to 0. This is the only case where a non-length-tracking typed array's length may change.</p>\n<div class=\"code-example\"><div class=\"example-header\"><span class=\"language-name\">js</span></div><pre class=\"brush: js notranslate\"><code>const buffer = new ArrayBuffer(8, { maxByteLength: 16 });\nconst float32 = new Float32Array(buffer, 0, 2);\n\nbuffer.resize(7);\n\nconsole.log(float32.byteLength); // 0\nconsole.log(float32.length); // 0\nconsole.log(float32[0]); // undefined\n</code></pre></div>\n<p>If you then grow the <code>buffer</code> again to bring the typed array back in bounds, the typed array's size will be restored to its original value.</p>\n<div class=\"code-example\"><div class=\"example-header\"><span class=\"language-name\">js</span></div><pre class=\"brush: js notranslate\"><code>buffer.resize(8);\n\nconsole.log(float32.byteLength); // 8\nconsole.log(float32.length); // 2\nconsole.log(float32[0]); // 0 - back in bounds again!\n</code></pre></div>\n<p>The same can happen for length-tracking typed arrays as well, if the buffer is shrunk beyond the <code>byteOffset</code>.</p>\n<div class=\"code-example\"><div class=\"example-header\"><span class=\"language-name\">js</span></div><pre class=\"brush: js notranslate\"><code>const buffer = new ArrayBuffer(8, { maxByteLength: 16 });\nconst float32 = new Float32Array(buffer, 4);\n// float32 is length-tracking, but it only extends from the 4th byte\n// to the end of the buffer, so if the buffer is resized to be shorter\n// than 4 bytes, the typed array will become out of bounds\nbuffer.resize(3);\nconsole.log(float32.byteLength); // 0\n</code></pre></div>"}},{"type":"prose","value":{"id":"constructor","title":"Constructor","isH3":false,"content":"<p>This object cannot be instantiated directly — attempting to construct it with <code>new</code> throws a <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypeError\"><code>TypeError</code></a>.</p>\n<div class=\"code-example\"><div class=\"example-header\"><span class=\"language-name\">js</span></div><pre class=\"brush: js notranslate\"><code>new (Object.getPrototypeOf(Int8Array))();\n// TypeError: Abstract class TypedArray not directly constructable\n</code></pre></div>\n<p>Instead, you create an instance of a typed array of a particular type, such as an <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int8Array\"><code>Int8Array</code></a> or a <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt64Array\"><code>BigInt64Array</code></a>. These objects all have a common syntax for their constructors:</p>\n<div class=\"code-example\"><div class=\"example-header\"><span class=\"language-name\">js</span></div><pre class=\"brush: js notranslate\"><code>new TypedArray()\nnew TypedArray(length)\nnew TypedArray(typedArray)\nnew TypedArray(object)\n\nnew TypedArray(buffer)\nnew TypedArray(buffer, byteOffset)\nnew TypedArray(buffer, byteOffset, length)\n</code></pre></div>\n<p>Where <code>TypedArray</code> is a constructor for one of the concrete types.</p>\n<div class=\"notecard note\">\n <p><strong>Note:</strong> All <code>TypedArray</code> subclasses' constructors can only be constructed with <a href=\"/en-US/docs/Web/JavaScript/Reference/Operators/new\"><code>new</code></a>. Attempting to call one without <code>new</code> throws a <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypeError\"><code>TypeError</code></a>.</p>\n</div>"}},{"type":"prose","value":{"id":"parameters","title":"Parameters","isH3":true,"content":"<dl>\n <dt id=\"typedarray\"><a href=\"#typedarray\"><code>typedArray</code></a></dt>\n <dd>\n <p>When called with an instance of a <code>TypedArray</code> subclass, the <code>typedArray</code> gets copied into a new typed array. For a non-<a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt\">bigint</a> <code>TypedArray</code> constructor, the <code>typedArray</code> parameter can only be of one of the non-<a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt\">bigint</a> types (such as <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int32Array\"><code>Int32Array</code></a>). Similarly, for a <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt\">bigint</a> <code>TypedArray</code> constructor (<a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt64Array\"><code>BigInt64Array</code></a> or <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigUint64Array\"><code>BigUint64Array</code></a>), the <code>typedArray</code> parameter can only be of one of the <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt\">bigint</a> types. Each value in <code>typedArray</code> is converted to the corresponding type of the constructor before being copied into the new array. The length of the new typed array will be same as the length of the <code>typedArray</code> argument.</p>\n </dd>\n <dt id=\"object\"><a href=\"#object\"><code>object</code></a></dt>\n <dd>\n <p>When called with an object that's not a <code>TypedArray</code> instance, a new typed array is created in the same way as the <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from\"><code>TypedArray.from()</code></a> method.</p>\n </dd>\n <dt id=\"length\"><a href=\"#length\"><code>length</code></a> <span class=\"badge inline optional\">Optional</span></dt>\n <dd>\n <p>When called with a non-object, the parameter will be treated as a number specifying the length of the typed array. An internal array buffer is created in memory, of size <code>length</code> multiplied by <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/BYTES_PER_ELEMENT\"><code>BYTES_PER_ELEMENT</code></a> bytes, filled with zeros. Omitting all parameters is equivalent to using <code>0</code> as <code>length</code>.</p>\n </dd>\n <dt id=\"buffer\"><a href=\"#buffer\"><code>buffer</code></a>, <code>byteOffset</code> <span class=\"badge inline optional\">Optional</span>, <code>length</code> <span class=\"badge inline optional\">Optional</span></dt>\n <dd>\n <p>When called with an <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer\"><code>ArrayBuffer</code></a> or <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer\"><code>SharedArrayBuffer</code></a> instance, and optionally a <code>byteOffset</code> and a <code>length</code> argument, a new typed array view is created that views the specified buffer. The <code>byteOffset</code> (in bytes) and <code>length</code> (in number of elements, each occupying <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/BYTES_PER_ELEMENT\"><code>BYTES_PER_ELEMENT</code></a> bytes) parameters specify the memory range that will be exposed by the typed array view. If both are omitted, all of <code>buffer</code> is viewed; if only <code>length</code> is omitted, the remainder of <code>buffer</code> starting from <code>byteOffset</code> is viewed. If <code>length</code> is omitted, the typed array becomes <a href=\"#behavior_when_viewing_a_resizable_buffer\">length-tracking</a>.</p>\n </dd>\n</dl>"}},{"type":"prose","value":{"id":"exceptions","title":"Exceptions","isH3":true,"content":"<p>All <code>TypeArray</code> subclass constructors operate in the same way. They would all throw the following exceptions:</p>\n<dl>\n <dt id=\"typeerror\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypeError\"><code>TypeError</code></a></dt>\n <dd>\n <p>Thrown in one of the following cases:</p>\n <ul>\n <li>A <code>typedArray</code> is passed but it is a <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt\">bigint</a> type while the current constructor is not, or vice versa.</li>\n <li>A <code>typedArray</code> is passed but the buffer it's viewing is detached, or a detached <code>buffer</code> is directly passed.</li>\n </ul>\n </dd>\n <dt id=\"rangeerror\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/RangeError\"><code>RangeError</code></a></dt>\n <dd>\n <p>Thrown in one of the following cases:</p>\n <ul>\n <li>The new typed array's length is too large.</li>\n <li>The length of <code>buffer</code> (if the <code>length</code> parameter is not specified) or <code>byteOffset</code> is not an integral multiple of the new typed array's element size.</li>\n <li><code>byteOffset</code> is not a valid array index (an integer between 0 and 2<sup>53</sup> - 1).</li>\n <li>When creating a view from a buffer, the bounds are outside the buffer. In other words, <code>byteOffset + length * TypedArray.BYTES_PER_ELEMENT &gt; buffer.byteLength</code>.</li>\n </ul>\n </dd>\n</dl>"}},{"type":"prose","value":{"id":"static_properties","title":"Static properties","isH3":false,"content":"<p>These properties are defined on the <code>TypedArray</code> constructor object and are thus shared by all <code>TypedArray</code> subclass constructors.</p>\n<dl>\n <dt id=\"typedarraysymbol.species\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/Symbol.species\"><code>TypedArray[Symbol.species]</code></a></dt>\n <dd>\n <p>The constructor function used to create derived objects.</p>\n </dd>\n</dl>\n<p>All <code>TypedArray</code> subclasses also have the following static properties:</p>\n<dl>\n <dt id=\"typedarray.bytes_per_element\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/BYTES_PER_ELEMENT\"><code>TypedArray.BYTES_PER_ELEMENT</code></a></dt>\n <dd>\n <p>Returns a number value of the element size for the different <code>TypedArray</code> objects.</p>\n </dd>\n</dl>"}},{"type":"prose","value":{"id":"static_methods","title":"Static methods","isH3":false,"content":"<p>These methods are defined on the <code>TypedArray</code> constructor object and are thus shared by all <code>TypedArray</code> subclass constructors.</p>\n<dl>\n <dt id=\"typedarray.from\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from\"><code>TypedArray.from()</code></a></dt>\n <dd>\n <p>Creates a new <code>TypedArray</code> from an array-like or iterable object. See also <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from\"><code>Array.from()</code></a>.</p>\n </dd>\n <dt id=\"typedarray.of\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of\"><code>TypedArray.of()</code></a></dt>\n <dd>\n <p>Creates a new <code>TypedArray</code> with a variable number of arguments. See also <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/of\"><code>Array.of()</code></a>.</p>\n </dd>\n</dl>"}},{"type":"prose","value":{"id":"instance_properties","title":"Instance properties","isH3":false,"content":"<p>These properties are defined on <code>TypedArray.prototype</code> and shared by all <code>TypedArray</code> subclass instances.</p>\n<dl>\n <dt id=\"typedarray.prototype.buffer\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/buffer\"><code>TypedArray.prototype.buffer</code></a></dt>\n <dd>\n <p>Returns the <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer\"><code>ArrayBuffer</code></a> referenced by the typed array.</p>\n </dd>\n <dt id=\"typedarray.prototype.bytelength\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/byteLength\"><code>TypedArray.prototype.byteLength</code></a></dt>\n <dd>\n <p>Returns the length (in bytes) of the typed array.</p>\n </dd>\n <dt id=\"typedarray.prototype.byteoffset\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/byteOffset\"><code>TypedArray.prototype.byteOffset</code></a></dt>\n <dd>\n <p>Returns the offset (in bytes) of the typed array from the start of its <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer\"><code>ArrayBuffer</code></a>.</p>\n </dd>\n <dt id=\"typedarray.prototype.constructor\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/constructor\"><code>TypedArray.prototype.constructor</code></a></dt>\n <dd>\n <p>The constructor function that created the instance object. <code>TypedArray.prototype.constructor</code> is the hidden <code>TypedArray</code> constructor function, but each typed array subclass also defines its own <code>constructor</code> property.</p>\n </dd>\n <dt id=\"typedarray.prototype.length\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/length\"><code>TypedArray.prototype.length</code></a></dt>\n <dd>\n <p>Returns the number of elements held in the typed array.</p>\n </dd>\n <dt id=\"typedarray.prototypesymbol.tostringtag\"><a href=\"#typedarray.prototypesymbol.tostringtag\"><code>TypedArray.prototype[Symbol.toStringTag]</code></a></dt>\n <dd>\n <p>The initial value of the <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/toStringTag\"><code>TypedArray.prototype[Symbol.toStringTag]</code></a> property is a getter that returns the same string as the typed array constructor's name. It returns <code>undefined</code> if the <code>this</code> value is not one of the typed array subclasses. This property is used in <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toString\"><code>Object.prototype.toString()</code></a>. However, because <code>TypedArray</code> also has its own <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toString\"><code>toString()</code></a> method, this property is not used unless you call <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/call\"><code>Object.prototype.toString.call()</code></a> with a typed array as <code>thisArg</code>.</p>\n </dd>\n</dl>\n<p>All <code>TypedArray</code> subclasses also have the following instance properties:</p>\n<dl>\n <dt id=\"typedarray.prototype.bytes_per_element\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/BYTES_PER_ELEMENT\"><code>TypedArray.prototype.BYTES_PER_ELEMENT</code></a></dt>\n <dd>\n <p>Returns a number value of the element size for the different <code>TypedArray</code> objects.</p>\n </dd>\n</dl>"}},{"type":"prose","value":{"id":"instance_methods","title":"Instance methods","isH3":false,"content":"<p>These methods are defined on the <code>TypedArray</code> prototype object and are thus shared by all <code>TypedArray</code> subclass instances.</p>\n<dl>\n <dt id=\"typedarray.prototype.at\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/at\"><code>TypedArray.prototype.at()</code></a></dt>\n <dd>\n <p>Takes an integer value and returns the item at that index. This method allows for negative integers, which count back from the last item.</p>\n </dd>\n <dt id=\"typedarray.prototype.copywithin\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/copyWithin\"><code>TypedArray.prototype.copyWithin()</code></a></dt>\n <dd>\n <p>Copies a sequence of array elements within the array. See also <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/copyWithin\"><code>Array.prototype.copyWithin()</code></a>.</p>\n </dd>\n <dt id=\"typedarray.prototype.entries\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/entries\"><code>TypedArray.prototype.entries()</code></a></dt>\n <dd>\n <p>Returns a new <em>array iterator</em> object that contains the key/value pairs for each index in the array. See also <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/entries\"><code>Array.prototype.entries()</code></a>.</p>\n </dd>\n <dt id=\"typedarray.prototype.every\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/every\"><code>TypedArray.prototype.every()</code></a></dt>\n <dd>\n <p>Tests whether all elements in the array pass the test provided by a function. See also <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/every\"><code>Array.prototype.every()</code></a>.</p>\n </dd>\n <dt id=\"typedarray.prototype.fill\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/fill\"><code>TypedArray.prototype.fill()</code></a></dt>\n <dd>\n <p>Fills all the elements of an array from a start index to an end index with a static value. See also <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/fill\"><code>Array.prototype.fill()</code></a>.</p>\n </dd>\n <dt id=\"typedarray.prototype.filter\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/filter\"><code>TypedArray.prototype.filter()</code></a></dt>\n <dd>\n <p>Creates a new array with all of the elements of this array for which the provided filtering function returns <code>true</code>. See also <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter\"><code>Array.prototype.filter()</code></a>.</p>\n </dd>\n <dt id=\"typedarray.prototype.find\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/find\"><code>TypedArray.prototype.find()</code></a></dt>\n <dd>\n <p>Returns the first <code>element</code> in the array that satisfies a provided testing function, or <code>undefined</code> if no appropriate element is found. See also <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find\"><code>Array.prototype.find()</code></a>.</p>\n </dd>\n <dt id=\"typedarray.prototype.findindex\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findIndex\"><code>TypedArray.prototype.findIndex()</code></a></dt>\n <dd>\n <p>Returns the first index value in the array that has an element that satisfies a provided testing function, or <code>-1</code> if no appropriate element was found. See also <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/findIndex\"><code>Array.prototype.findIndex()</code></a>.</p>\n </dd>\n <dt id=\"typedarray.prototype.findlast\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findLast\"><code>TypedArray.prototype.findLast()</code></a></dt>\n <dd>\n <p>Returns the value of the last element in the array that satisfies a provided testing function, or <code>undefined</code> if no appropriate element is found. See also <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/findLast\"><code>Array.prototype.findLast()</code></a>.</p>\n </dd>\n <dt id=\"typedarray.prototype.findlastindex\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findLastIndex\"><code>TypedArray.prototype.findLastIndex()</code></a></dt>\n <dd>\n <p>Returns the index of the last element in the array that satisfies a provided testing function, or <code>-1</code> if no appropriate element was found. See also <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/findLastIndex\"><code>Array.prototype.findLastIndex()</code></a>.</p>\n </dd>\n <dt id=\"typedarray.prototype.foreach\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/forEach\"><code>TypedArray.prototype.forEach()</code></a></dt>\n <dd>\n <p>Calls a function for each element in the array. See also <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach\"><code>Array.prototype.forEach()</code></a>.</p>\n </dd>\n <dt id=\"typedarray.prototype.includes\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/includes\"><code>TypedArray.prototype.includes()</code></a></dt>\n <dd>\n <p>Determines whether a typed array includes a certain element, returning <code>true</code> or <code>false</code> as appropriate. See also <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes\"><code>Array.prototype.includes()</code></a>.</p>\n </dd>\n <dt id=\"typedarray.prototype.indexof\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/indexOf\"><code>TypedArray.prototype.indexOf()</code></a></dt>\n <dd>\n <p>Returns the first (least) index of an element within the array equal to the specified value, or <code>-1</code> if none is found. See also <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf\"><code>Array.prototype.indexOf()</code></a>.</p>\n </dd>\n <dt id=\"typedarray.prototype.join\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/join\"><code>TypedArray.prototype.join()</code></a></dt>\n <dd>\n <p>Joins all elements of an array into a string. See also <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/join\"><code>Array.prototype.join()</code></a>.</p>\n </dd>\n <dt id=\"typedarray.prototype.keys\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/keys\"><code>TypedArray.prototype.keys()</code></a></dt>\n <dd>\n <p>Returns a new array iterator that contains the keys for each index in the array. See also <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/keys\"><code>Array.prototype.keys()</code></a>.</p>\n </dd>\n <dt id=\"typedarray.prototype.lastindexof\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/lastIndexOf\"><code>TypedArray.prototype.lastIndexOf()</code></a></dt>\n <dd>\n <p>Returns the last (greatest) index of an element within the array equal to the specified value, or <code>-1</code> if none is found. See also <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/lastIndexOf\"><code>Array.prototype.lastIndexOf()</code></a>.</p>\n </dd>\n <dt id=\"typedarray.prototype.map\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/map\"><code>TypedArray.prototype.map()</code></a></dt>\n <dd>\n <p>Creates a new array with the results of calling a provided function on every element in this array. See also <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map\"><code>Array.prototype.map()</code></a>.</p>\n </dd>\n <dt id=\"typedarray.prototype.reduce\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reduce\"><code>TypedArray.prototype.reduce()</code></a></dt>\n <dd>\n <p>Apply a function against an accumulator and each value of the array (from left-to-right) as to reduce it to a single value. See also <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce\"><code>Array.prototype.reduce()</code></a>.</p>\n </dd>\n <dt id=\"typedarray.prototype.reduceright\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reduceRight\"><code>TypedArray.prototype.reduceRight()</code></a></dt>\n <dd>\n <p>Apply a function against an accumulator and each value of the array (from right-to-left) as to reduce it to a single value. See also <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduceRight\"><code>Array.prototype.reduceRight()</code></a>.</p>\n </dd>\n <dt id=\"typedarray.prototype.reverse\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reverse\"><code>TypedArray.prototype.reverse()</code></a></dt>\n <dd>\n <p>Reverses the order of the elements of an array — the first becomes the last, and the last becomes the first. See also <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reverse\"><code>Array.prototype.reverse()</code></a>.</p>\n </dd>\n <dt id=\"typedarray.prototype.set\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/set\"><code>TypedArray.prototype.set()</code></a></dt>\n <dd>\n <p>Stores multiple values in the typed array, reading input values from a specified array.</p>\n </dd>\n <dt id=\"typedarray.prototype.slice\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/slice\"><code>TypedArray.prototype.slice()</code></a></dt>\n <dd>\n <p>Extracts a section of an array and returns a new array. See also <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice\"><code>Array.prototype.slice()</code></a>.</p>\n </dd>\n <dt id=\"typedarray.prototype.some\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/some\"><code>TypedArray.prototype.some()</code></a></dt>\n <dd>\n <p>Returns <code>true</code> if at least one element in this array satisfies the provided testing function. See also <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some\"><code>Array.prototype.some()</code></a>.</p>\n </dd>\n <dt id=\"typedarray.prototype.sort\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/sort\"><code>TypedArray.prototype.sort()</code></a></dt>\n <dd>\n <p>Sorts the elements of an array in place and returns the array. See also <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort\"><code>Array.prototype.sort()</code></a>.</p>\n </dd>\n <dt id=\"typedarray.prototype.subarray\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/subarray\"><code>TypedArray.prototype.subarray()</code></a></dt>\n <dd>\n <p>Returns a new <code>TypedArray</code> from the given start and end element index.</p>\n </dd>\n <dt id=\"typedarray.prototype.tolocalestring\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toLocaleString\"><code>TypedArray.prototype.toLocaleString()</code></a></dt>\n <dd>\n <p>Returns a localized string representing the array and its elements. See also <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/toLocaleString\"><code>Array.prototype.toLocaleString()</code></a>.</p>\n </dd>\n <dt id=\"typedarray.prototype.toreversed\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toReversed\"><code>TypedArray.prototype.toReversed()</code></a></dt>\n <dd>\n <p>Returns a new array with the elements in reversed order, without modifying the original array.</p>\n </dd>\n <dt id=\"typedarray.prototype.tosorted\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toSorted\"><code>TypedArray.prototype.toSorted()</code></a></dt>\n <dd>\n <p>Returns a new array with the elements sorted in ascending order, without modifying the original array.</p>\n </dd>\n <dt id=\"typedarray.prototype.tostring\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toString\"><code>TypedArray.prototype.toString()</code></a></dt>\n <dd>\n <p>Returns a string representing the array and its elements. See also <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/toString\"><code>Array.prototype.toString()</code></a>.</p>\n </dd>\n <dt id=\"typedarray.prototype.values\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/values\"><code>TypedArray.prototype.values()</code></a></dt>\n <dd>\n <p>Returns a new <em>array iterator</em> object that contains the values for each index in the array. See also <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/values\"><code>Array.prototype.values()</code></a>.</p>\n </dd>\n <dt id=\"typedarray.prototype.with\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/with\"><code>TypedArray.prototype.with()</code></a></dt>\n <dd>\n <p>Returns a new array with the element at the given index replaced with the given value, without modifying the original array.</p>\n </dd>\n <dt id=\"typedarray.prototypesymbol.iterator\"><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/Symbol.iterator\"><code>TypedArray.prototype[Symbol.iterator]()</code></a></dt>\n <dd>\n <p>Returns a new <em>array iterator</em> object that contains the values for each index in the array.</p>\n </dd>\n</dl>"}},{"type":"prose","value":{"id":"examples","title":"Examples","isH3":false,"content":""}},{"type":"prose","value":{"id":"property_access","title":"Property access","isH3":true,"content":"<p>\n You can reference elements in the array using standard array index syntax (that is,\n using bracket notation). However, getting or setting indexed properties on typed arrays\n will not search in the prototype chain for this property, even when the indices are out\n of bound. Indexed properties will consult the <a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer\"><code>ArrayBuffer</code></a> and will never\n look at object properties. You can still use named properties, just like with all\n objects.\n</p>\n<div class=\"code-example\"><div class=\"example-header\"><span class=\"language-name\">js</span></div><pre class=\"brush: js notranslate\"><code>// Setting and getting using standard array syntax\nconst int16 = new Int16Array(2);\nint16[0] = 42;\nconsole.log(int16[0]); // 42\n\n// Indexed properties on prototypes are not consulted (Fx 25)\nInt8Array.prototype[20] = \"foo\";\nnew Int8Array(32)[20]; // 0\n// even when out of bound\nInt8Array.prototype[20] = \"foo\";\nnew Int8Array(8)[20]; // undefined\n// or with negative integers\nInt8Array.prototype[-1] = \"foo\";\nnew Int8Array(8)[-1]; // undefined\n\n// Named properties are allowed, though (Fx 30)\nInt8Array.prototype.foo = \"bar\";\nnew Int8Array(32).foo; // \"bar\"\n</code></pre></div>"}},{"type":"prose","value":{"id":"cannot_be_frozen","title":"Cannot be frozen","isH3":true,"content":"<p>\n <code>TypedArray</code>s that aren't empty cannot be frozen, as their\n underlying <code>ArrayBuffer</code> could be mutated through another\n <code>TypedArray</code> view of the buffer. This would mean that the object\n would never genuinely be frozen.\n</p>\n<div class=\"code-example\"><div class=\"example-header\"><span class=\"language-name\">js</span></div><pre class=\"brush: js example-bad notranslate\"><code>const i8 = Int8Array.of(1, 2, 3);\nObject.freeze(i8);\n// TypeError: Cannot freeze array buffer views with elements\n</code></pre></div>"}},{"type":"prose","value":{"id":"byteoffset_must_be_aligned","title":"ByteOffset must be aligned","isH3":true,"content":"<p>\n When constructing a <code>TypedArray</code> as a view onto an\n <code>ArrayBuffer</code>, the <code>byteOffset</code> argument must be aligned to its\n element size; in other words, the offset must be a multiple of\n <code>BYTES_PER_ELEMENT</code>.\n</p>\n<div class=\"code-example\"><div class=\"example-header\"><span class=\"language-name\">js</span></div><pre class=\"brush: js example-bad notranslate\"><code>const i32 = new Int32Array(new ArrayBuffer(4), 1);\n// RangeError: start offset of Int32Array should be a multiple of 4\n</code></pre></div>\n<div class=\"code-example\"><div class=\"example-header\"><span class=\"language-name\">js</span></div><pre class=\"brush: js example-good notranslate\"><code>const i32 = new Int32Array(new ArrayBuffer(4), 0);\n</code></pre></div>"}},{"type":"prose","value":{"id":"bytelength_must_be_aligned","title":"ByteLength must be aligned","isH3":true,"content":"<p>\n Like the <code>byteOffset</code> parameter, the <code>byteLength</code> property of an\n <code>ArrayBuffer</code> passed to a <code>TypedArray</code>'s constructor\n must be a multiple of the constructor's <code>BYTES_PER_ELEMENT</code>.\n</p>\n<div class=\"code-example\"><div class=\"example-header\"><span class=\"language-name\">js</span></div><pre class=\"brush: js example-bad notranslate\"><code>const i32 = new Int32Array(new ArrayBuffer(3));\n// RangeError: byte length of Int32Array should be a multiple of 4\n</code></pre></div>\n<div class=\"code-example\"><div class=\"example-header\"><span class=\"language-name\">js</span></div><pre class=\"brush: js example-good notranslate\"><code>const i32 = new Int32Array(new ArrayBuffer(4));\n</code></pre></div>"}},{"type":"specifications","value":{"title":"Specifications","id":"specifications","isH3":false,"specifications":[{"bcdSpecificationURL":"https://tc39.es/ecma262/multipage/indexed-collections.html#sec-typedarray-objects","title":"ECMAScript Language Specification"}],"query":"javascript.builtins.TypedArray"}},{"type":"browser_compatibility","value":{"title":"Browser compatibility","id":"browser_compatibility","isH3":false,"query":"javascript.builtins.TypedArray"}},{"type":"prose","value":{"id":"see_also","title":"See also","isH3":false,"content":"<ul>\n <li><a href=\"https://github.com/zloirock/core-js#ecmascript-typed-arrays\" class=\"external\" target=\"_blank\">Polyfill of typed arrays in <code>core-js</code></a></li>\n <li><a href=\"/en-US/docs/Web/JavaScript/Guide/Typed_arrays\">JavaScript typed arrays</a> guide</li>\n <li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer\"><code>ArrayBuffer</code></a></li>\n <li><a href=\"/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView\"><code>DataView</code></a></li>\n <li><a href=\"/en-US/docs/Web/API/TextDecoder\"><code>TextDecoder</code></a></li>\n</ul>"}}],"toc":[{"text":"Try it","id":"try_it"},{"text":"Description","id":"description"},{"text":"Constructor","id":"constructor"},{"text":"Static properties","id":"static_properties"},{"text":"Static methods","id":"static_methods"},{"text":"Instance properties","id":"instance_properties"},{"text":"Instance methods","id":"instance_methods"},{"text":"Examples","id":"examples"},{"text":"Specifications","id":"specifications"},{"text":"Browser compatibility","id":"browser_compatibility"},{"text":"See also","id":"see_also"}],"summary":"A TypedArray object describes an array-like view of an\n underlying binary data buffer.\n There is no global property named TypedArray, nor is there a\n directly visible TypedArray constructor. Instead, there are a number of\n different global properties, whose values are typed array constructors for specific\n element types, listed below. On the following pages you will find common properties and\n methods that can be used with any typed array containing elements of any type.","popularity":0.0137,"modified":"2024-07-25T21:32:46.000Z","other_translations":[{"locale":"de","title":"TypedArray","native":"Deutsch"},{"locale":"es","title":"TypedArray","native":"Español"},{"locale":"fr","title":"TypedArray","native":"Français"},{"locale":"ja","title":"TypedArray","native":"日本語"},{"locale":"ko","title":"TypedArray","native":"한국어"},{"locale":"ru","title":"TypedArray","native":"Русский"},{"locale":"zh-CN","title":"TypedArray","native":"中文 (简体)"}],"pageType":"javascript-class","source":{"folder":"en-us/web/javascript/reference/global_objects/typedarray","github_url":"https://github.com/mdn/content/blob/main/files/en-us/web/javascript/reference/global_objects/typedarray/index.md","last_commit_url":"https://github.com/mdn/content/commit/8421c0cd94fa5aa237c833ac6d24885edbc7d721","filename":"index.md"},"short_title":"TypedArray","parents":[{"uri":"/en-US/docs/Web","title":"References"},{"uri":"/en-US/docs/Web/JavaScript","title":"JavaScript"},{"uri":"/en-US/docs/Web/JavaScript/Reference","title":"Reference"},{"uri":"/en-US/docs/Web/JavaScript/Reference/Global_Objects","title":"Standard built-in objects"},{"uri":"/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray","title":"TypedArray"}],"pageTitle":"TypedArray - JavaScript | MDN","noIndexing":false}}</script></body></html>

Pages: 1 2 3 4 5 6 7 8 9 10