자료 구조는 자료들을 조금 더 효율적으로 정리하기 위한 수단으로, 우리는 javascript의 대표적인 자료구조인 배열(array)과 객체(object)에 대해서만 알아보겠습니다.

1. 배열

같은 속성을 가진 자료들을 한꺼번에 묶어서 저장하기 위해 만들어진 자료구조입니다. 다음과 같이 사용합니다.

const fruits = ["딸기", "바나나", "사과"]

배열은 중복 가능하고, 순서가 있는 자료구조입니다. 이때 “딸기”, “바나나”와 같은 요소는 인덱스(순서)로 접근 가능한데, 이때 주의해야 할 점이 있습니다.

인덱스는 0부터 시작한다는 것입니다.

fruits[0] //딸기
fruits[1] //바나나
fruits[2] //사과

그럼으로 fruits[1]과 같이 접근하게 되면, 딸기가 아닌 바나나라는 요소를 가져오게 됩니다.

아래는 배열에 요소(”사과”, “바나나” 등)를 추가하는 방법입니다.

const fruits = ["딸기", "바나나", "사과"]
fruits.push("배")
//이제 fruits=["딸기", "바나나", "사과", "배"]가 되었습니다.

2. 객체

javascript의 객체(object)는 python의 딕셔너리와 유사한 개념입니다. object는 그 사용 예를 보시는 게 제일 이해가 편합니다.

const Nicolas = {
    age:22, //key:value
    hobby:"to sleep",
    university:"SKKU",
    major:"English Literature and Linguistics"
};

Nicolas라는 변수에 다음과 같은 자료구조를 담았습니다. 이 사람의 age는 22살이고, hobby는 “자는 것”이며, university는 “SKKU” 등등 정보들이 구조화 되어 있습니다.

이때 왼쪽은 age, hobby, university, major를 key라고 부릅니다. 오른쪽은 22, “to sleep” 등은 value라고 부릅니다.

우리는 이 key값을 통해서 각각의 value 값에 접근할 수 있습니다. key값에 문자가 올 경우 “”을 붙여도 되고 안 붙여도 상관 없습니다.

const Nicolas = {
    "age":22, //key:value
    "hobby":"to sleep",
    "university":"SKKU",
    "major":"English Literature and Linguistics"
};

Nicolas.age // 22
Nicolas["age"] //22
Nicolas.hobby //"to sleep"

접근했을 때 그 value 값을 바꿀 수도 있습니다.

const Nicolas = {
    age:22, //key:value
    hobby:"to sleep",
    university:"SKKU",
    major:"English Literature and Linguistics"
};

Nicolas.age = 40; //age를 40으로 바꿈

위는 Nicolas.age를 40으로 바꾼 예시입니다.