Typované pole v JavaScriptu

SnoopySnoopy

Typed arrays jsou datové struktury, které umožňují efektivnější práci (ve smyslu výkonu a paměti) s binárními daty a číselnými datovými typy.

Tradiční pole v JavaScriptu jsou navrženy tak, aby byly jednoduše použitelní pro programátora. To znamená, že tyto pole jsou dynamické a umožňují nám ukládat libovolné hodnoty a po vytvoření je můžeme libovolně rozšiřovat nebo zmenšovat.

Platíme za to však určitou daň, jako je větší náročnost na paměť a tím, že nemáme přímý přístup k paměti. Jenže kdo někdy pracoval s nízkoúrovňovými jazyky např. asemblerem nebo jazykem C, ví že takhle jednoduše počítače nefungují. Před pár dekádami neměli programátoři k dispozici tolik paměti co my máme dnes a někteří až velmi úzkostně hlídali každý bit.

Typed Arrays jsou navrženy tak, aby přinášely některé z výhod těchto nízkoúrovňových jazyků jako je C nebo assembler. Každý typ Typed Array má přesně definovanou velikost a typ hodnot, které mohou obsahovat, a jsou statické, což znamená, že jejich velikost nelze měnit. To umožňuje přesnou kontrolu nad velikostí paměti, která je vyhrazena pro pole a minimalizuje nároky na paměť.

V JavaScriptu existuje několik typů Typed Arrays, jako jsou Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array a Float64Array, přičemž každý typ představuje jiný počet bytů na hodnotu a jiný rozsah hodnot, které mohou být uloženy.

Typed Arrays jsou často používány pro zpracování velkých objemů binárních dat, jako jsou obrázky, zvukové soubory nebo videa, kde je potřeba vysoká výkonnost a nízká režie paměti. Můžou být také použity pro vytváření vlastních algoritmů pro práci s čísly nebo pro implementaci efektivnějších matematických výpočtů a funkcí.