JavaScript에서 흔히 사용되는 용어는 array(배열) 입니다. 그러나 list 라는 용어는 JavaScript의 기본 자료형으로 따로 존재하지 않습니다. list는 보통 프로그래밍의 일반적인 용어로 연걸 리스트(Linked List)를 의미하거나, 특정 프레임워크/라이브러리(ex_python, java)에서 리스트 타입을 지칭하는 경우에 사용됩니다. JavaScript에서는 array가 순서가 있는 값들의 집합을 저장하기 위한 기본적인 데이터 구조입니다. 따라서 JavaScript에서는 리스트 타입이 아닌, 배열(Array)을 사용해 리스트처럼 동작하는 구조를 구현할 수 있습니다.
Array(배열)의 특징
- 배열은 순서가 있는 값들의 집합을 저장합니다.
- 각 값은 인덱스로 접근할 수 있습니다. 인덱스는 0부터 시작합니다.
- 배열은 동적 크기를 가지며, 언제든 요소를 추가하거나 제거할 수 있습니다.
- 배열에는 숫자뿐만 아니라 문자열, 객체 등 모든 데이터 타입을 저장할 수 있습니다.
const arr = [1, 2, 3, 4, 5];
console.log(arr[0]); // 1
console.log(arr.length); // 5
List와 Array의 개념적 차이
배열(Array)
연속적인 메모리 공간에 데이터를 저장합니다.
고정된 길이를 가진 배열도 있지만, JavaScript의 배열은 크기가 동적으로 조정됩니다.
연결 리스트(Linked List)
각 요소가 다음 요소를 가리키는 포인터를 포함하여 노드(node) 형태로 저장됩니다.
요소가 메모리상에 연속적으로 배치되지 않고, 링크로 연결되어 있습니다.
JavaScript에서 연결 리스트 구현하기
JavaScript 배열은 이미 리스트처럼 동작하지만, 연결 리스트를 수동으로 구현 할 수도 있습니다.
class Node {
constructor(value) {
this.value = value;
this.next = null;
}
}
class LinedList {
constructor() {
this.head = null;
}
add(value) {
const newNode = new Node(value);
if (!this.head) {
this.head = newNode;
} else {
let current = this.head;
while (current.next) {
current = current.next;
}
current.next = newNode;
}
}
display() {
let current = this.head;
while (current) {
console.log(current.value);
current = current.next;
}
}
}
const list = new LinkedList();
list.add(1);
list.add(2);
list.add(3);
list.display(); // 1, 2, 3
JavaScript에서는 기본적으로 array를 사용하여 리스트처럼 데이터를 저장하고 관리합니다. list라는 용어는 JavaScript의 기본 자료형으로는 존재하지 않지만, 배열을 통해 리스트의 기능을 구현 할 수 있습니다. 또한, 연결 리스트와 같은 자료 구조를 직접 구현 할 수도 있습니다. 따라서 JavaScript에서 리스트 관련 개념을 다룰 때는 Array를 잘 이해하고 활용하는 것이 중요합니다.
'개발 지식 한스푼' 카테고리의 다른 글
JavaScript _ 배열의 종류 (0) | 2025.01.16 |
---|---|
JavaScript _ 바닐라 JS란? (0) | 2025.01.15 |
JavaScript _ NaN (Not a Number) (0) | 2025.01.11 |
JavaScript _ 데이터 타입 number, string, boolean (0) | 2025.01.10 |
JavaScript _ null 과 undefined (0) | 2025.01.09 |