[Js] 객체

yuyeong·2024년 11월 20일

JS

목록 보기
1/10
post-thumbnail

자바스크립트에서 객체는 중요한 자료형으로, 다양한 데이터를 저장하고 조작할 수 있는 기본 도구이다. 이 글에서는 객체의 기본적인 개념과 사용법에 대해 알아본다.


1. 객체란?

자바스크립트에는 8가지 자료형이 있다. 이 중 7개는 원시형(primitive type)으로, 하나의 데이터만 담을 수 있다. 반면 객체형은 키(key)-값(value) 쌍으로 데이터를 저장할 수 있는 구조로, 다음과 같은 특징이 있다:

다양한 데이터 집합을 저장할 수 있다.
키를 사용해 데이터를 효율적으로 검색, 추가, 삭제할 수 있다.

객체 생성 방법

객체는 두 가지 방법으로 생성할 수 있다:

let user = new Object(); // 객체 생성자 문법
let user = {}; // 객체 리터럴 문법

2. 객체 리터럴과 프로퍼티

객체 리터럴은 중괄호 {}를 사용해 정의하며, 내부에는 키: 값 형태로 프로퍼티를 정의한다.

let user = {
  name: "John",
  age: 30
};
  • 키(key): 프로퍼티 이름(문자열).
  • 값(value): 모든 자료형이 가능.

프로퍼티 추가 및 삭제

user.isAdmin = true; // 프로퍼티 추가
delete user.age; // 프로퍼티 삭제

3. 점 표기법과 대괄호 표기법

  • 점 표기법: object.property 형태로 사용.
  • 대괄호 표기법: object["property"] 형태로 사용하며, 키가 유효한 변수 식별자가 아니거나 동적일 때 사용.
let user = {};
user["likes birds"] = true; // 대괄호 표기법
console.log(user["likes birds"]); // true

4. 계산된 프로퍼티

  • 객체 리터럴 정의 시 대괄호 []를 사용해 동적으로 키를 생성할 수 있다.
let fruit = "apple";
let bag = {
  [fruit]: 5 // 변수 fruit의 값이 키로 사용됨
};
console.log(bag.apple); // 5

5. 단축 프로퍼티

변수 이름과 프로퍼티 이름이 같을 경우, 단축 구문을 사용할 수 있다.


function makeUser(name, age) {
  return { name, age };
}

6. 객체의 제약 및 특징

프로퍼티 키로 예약어를 사용할 수 있다:

let obj = { for: 1, let: 2 };
console.log(obj.for + obj.let); // 3

프로퍼티 키는 문자열로 변환되며, 숫자도 문자열로 처리된다.

7. 객체의 프로퍼티 존재 확인

undefined와 비교:
console.log(user.property === undefined); // true

in 연산자:
console.log("property" in user); // true

8. 객체 순회 및 정렬

for...in 반복문을 사용해 객체의 키를 순회할 수 있다:

for (let key in user) {
  console.log(key, user[key]);
}

정수 프로퍼티는 자동 정렬되며, 그 외의 프로퍼티는 추가 순서를 따른다.

요약
객체는 자바스크립트의 핵심 개념으로, 다음과 같은 특징이 있다:
키-값 쌍을 저장한다.
점 표기법과 대괄호 표기법으로 프로퍼티에 접근할 수 있다.
프로퍼티 추가, 삭제, 존재 여부 확인 및 순회가 가능하다.

profile
이겨내

0개의 댓글