이번 강의에서는 데이터 타입(자료형)으로써 오브젝트(object)에 대해 알아보겠습니다. 객체라고 번역하여 표현하기도 합니다. 

오브젝트는 서로 관련이 있는 데이터를 하나의 변수로 묶어주는 역할을 합니다. 예를들어, 오브젝트를 사용하지 않고 변수를 사용하여 이름과 나이를 저장하려고 하면, 아래와 같이 표현할 수 있습니다.

var name = "김봉팔";
var age = 18;

오브젝트를 사용하여 이 사람의 이름과 나이를 저장하면, 아래와 같이 하나의 변수에 묶을 수 있습니다. 프로그래머가 더 쉽게 데이터를 알아 볼 수 있습니다.

var person = {name: "김봉팔", age: 18};

이 때 name, age와 같이 오브젝트 안에서 데이터의 이름을 나타내는 이름들을 항목(property)라고 하고, 항목의 데이터를 값(value)라고 합니다.

오브젝트의 선언

아래와 같은 형식으로 오브젝트를 선언하여 변수에 담을 수 있습니다.

var 변수_이름 = {항목_이름1:값1, 항목_이름2:값2, 항목_이름3:값3}

항목의 이름을 만드는 규칙은 변수, 함수의 이름을 만드는 규칙과 동일합니다.

항목의 값에는 어떠한 데이터라도 들어갈 수 있습니다. 심지어 배열이나 다른 오브젝트들도 값으로 사용될 수 있습니다. 또한 오브젝트 역시 데이터이므로 배열에 넣을 수 있습니다.

항목의 호출 및 값 변경

변수_이름.항목_이름

위 형태로 오브젝트 내 항목의 데이터를 호출할 수 있습니다. 위에서 선언했던 person 변수에서 name과 age를 각각 호출해 봅시다.

person.name;
//"김봉팔"

person.age;
//18

항목은 변수와 마찬가지로 데이터를 대입할 수 있습니다.

person.age = 20;

person.age;
//20

항목의 추가 및 삭제

만약 오브젝트에 없는 항목을 호출하려고 하면, 오류를 내지 않고 undefined를 리턴합니다.

person.friends
//undefined

오브젝트에서 항목의 추가는 그냥 새 항목 이름을 호출하고 데이터를 넣어버리면 됩니다. friends라는 항목에 친구 이름 배열을 추가해 봅시다.

person.friends = ["김삼순", "James Bond"];

person.friends;
//(2) ["김삼순", "James Bond"]

이 때 person.friends는 배열을 나타내므로, 배열에 관련된 모든 명령어를 사용할 수 있습니다. 예를들어 해당 배열의 길이는 person.friends.length로 확인할 수 있습니다.

오브젝트에서 항목을 삭제하기 위해서는 delete 예약어를 사용합니다. 나이 항목을 지워봅시다.

delete person.age;
//true

person;
//{name: "김봉팔", friends: Array(2)}

delete 명령어를 사용하면, 해당 항목이 존재하여 항목이 성공적으로 지워진 경우에는 true를, 항목이 없어서 삭제하지 못한 경우에는 false를 리턴합니다.

+ Recent posts