
배열 (Array)
순서가 있는 값들의 리스트입니다.
각 요소는 인덱스를 가지고 있으며, 인덱스는 0부터 시작합니다.const numbers = [1, 2, 3, 4, 5]; const fruits = ['apple', 'banana', 'orange'];
객체 (Object)
키-값 쌍의 집합으로, 키를 사용하여 값에 접근합니다.const person = { name: 'John', age: 30, city: 'New York', };
맵 (Map)
키-값 쌍의 집합이지만, 키에는 객체와 같은 다양한 타입을 사용할 수 있습니다.const myMap = new Map(); myMap.set('name', 'John'); myMap.set('age', 30);
셋 (Set)
중복을 허용하지 않는 고유한 값들의 집합입니다.const mySet = new Set([1, 2, 3, 4, 5]); mySet.add(6);
스택 (Stack)
후입선출(LIFO)의 원칙에 따라 동작하는 자료구조입니다.const stack = []; stack.push(1); stack.push(2); stack.pop(); // 2
큐 (Queue)
선입선출(FIFO)의 원칙에 따라 동작하는 자료구조입니다.const queue = []; queue.push(1); queue.push(2); queue.shift(); // 1
링크드 리스트 (Linked List)
각 요소가 다음 요소를 가리키는 구조를 가진 자료구조입니다.class Node { constructor(value) { this.value = value; this.next = null; } } const node1 = new Node(1); const node2 = new Node(2); node1.next = node2;
트리 (Tree)
계층적인 구조로, 각 노드가 여러 자식 노드를 가질 수 있습니다.class TreeNode { constructor(value) { this.value = value; this.children = []; } } const rootNode = new TreeNode(1); rootNode.children.push(new TreeNode(2));
해시 테이블 (Hash Table)
키-값 쌍을 저장하는 자료구조로, 해시 함수를 사용하여 빠르게 접근할 수 있습니다.
자바스크립트의 객체는 내부적으로 해시 테이블로 구현되어 있습니다.