Junior
Que estruturas de dados existem em JavaScript?
sobes.tech IA
Resposta da IA
Tipos de dados mais simples: String (strings), Number (números), BigInt (grandes números inteiros), Boolean (tipo lógico), Undefined (valor indefinido), Symbol (símbolos), Null (valor nulo).
Estruturas de dados complexas:
- Object (objeto): Coleção de pares chave-valor.
// Objeto simples const user = { name: 'Ivan', age: 30 }; - Array (matriz): Coleção ordenada de elementos.
// Matriz de números const numbers = [1, 2, 3, 4, 5]; - Map (mapa): Coleção de pares chave-valor, onde as chaves podem ser de qualquer tipo de dado e mantêm a ordem de inserção.
// Mapa com diferentes tipos de chaves const map = new Map(); map.set('name', 'Peter'); map.set(1, 'número'); - Set (conjunto): Coleção de valores únicos de qualquer tipo de dado.
// Conjunto de números únicos const set = new Set([1, 2, 2, 3, 4, 4]); // Contém [1, 2, 3, 4] - Typed Arrays (arrays tipados): Arrays de comprimento fixo, cujos elementos têm um tipo numérico definido (por exemplo,
Int8Array,Uint8Array,Float32Array).// Array tipado de bytes const byteArray = new Uint8Array([10, 20, 30]); - WeakMap (mapa fraco): Semelhante a
Map, mas suas chaves devem ser objetos, e eles não impedem que o coletor de lixo remova os objetos associados.// Mapa fraco const weakMap = new WeakMap(); const obj1 = {}; weakMap.set(obj1, 'dados 1'); - WeakSet (conjunto fraco): Semelhante a
Set, mas seus elementos devem ser objetos, e eles não impedem que o coletor de lixo remova esses objetos.// Conjunto fraco const weakSet = new WeakSet(); const obj2 = {}; weakSet.add(obj2);
Existem também estruturas usadas em APIs de baixo nível ou que representam objetos especiais:
ArrayBuffer: Representa um buffer binário de comprimento fixo.DataView: Fornece uma interface de baixo nível para ler e escrever dados numéricos em umArrayBuffer, permitindo controlar deslocamentos e a ordem dos bytes.