[javascript] 객체와 객체 속성

자바스크립트는 객체 지향 프로그래밍 언어입니다. 객체는 여러 개의 속성(property)들을 포함하는 자료구조입니다. 객체의 속성은 이름(name)과 값(value)의 쌍으로 구성되어 있습니다.

객체 생성

객체를 생성하기 위해서는 객체 리터럴을 사용할 수 있습니다. 객체 리터럴은 중괄호({})를 사용하여 객체를 정의합니다. 속성의 이름과 값을 콜론(:)으로 구분하고, 여러 개의 속성을 쉼표(,)로 구분합니다.

let person = {
  name: 'John',
  age: 30,
  gender: 'male'
};

객체를 변수에 할당할 때는 let이나 const를 사용하여 변수를 선언합니다.

속성 접근

객체의 속성에 접근하기 위해서는 도트(.) 연산자 또는 대괄호([]) 표기법을 사용할 수 있습니다.

console.log(person.name);  // 'John'
console.log(person['age']); // 30

속성에 접근할 때 속성 이름을 문자열로 작성하는 대괄호 표기법을 사용하면, 변수나 계산 결과를 사용하여 동적으로 속성에 접근할 수 있습니다.

let propertyName = 'gender';
console.log(person[propertyName]); // 'male'

속성 추가, 수정, 삭제

객체의 속성을 추가, 수정 또는 삭제하기 위해서는 할당 연산자(=)를 사용합니다. 속성을 추가할 때는 객체명 다음에 도트(.) 연산자 또는 대괄호([]) 표기법을 사용하여 새로운 속성을 정의하고 값을 할당합니다. 속성을 수정할 때는 이미 존재하는 속성에 새로운 값을 할당하면 됩니다. 속성을 삭제할 때는 delete 키워드를 사용합니다.

person.height = 180; // 속성 추가
person.age = 31; // 속성 수정
delete person.gender; // 속성 삭제

속성 순회

객체의 속성을 순회하기 위해서는 for...in 문을 사용할 수 있습니다. 이 문을 사용하면 객체의 속성을 반복하여 접근할 수 있습니다.

for (let key in person) {
  console.log(key + ': ' + person[key]);
}

위 예제에서 key는 각 속성의 이름이 되고, person[key]는 각 속성의 값을 가져옵니다.

참고 자료