객체, 중첩객체

oYJo·2025년 3월 21일

JavaScript

목록 보기
29/52

객체

1️⃣ 객체

객체 : 키(key), 값(value)으로 이루어진 데이터 구조이다.
배열은 연관된 값들을 나열

객체는 키, 값으로 이루어져있음
데이터를 저장하고 조작할 수 있다.

키 : 문자형
값 : 모든 자료형 허용

빈 객체 만들기

let user = new Object(); 
// '객체 생성자' 문법

let user = {};  
// '객체 리터럴' 문법

✔️new 연산자, 생성자 함수
객체 여러 개를 쉽게 만들 수 있다
1. 함수 이름 첫 글자는 대문자로 시작
2. 반드시 new 연산자 붙여 실행한다
❗️모든 함수는 생성자 함수가 될 수 있다
new 연산자를 붙이면 어떤 함수라도 알고리즘 실행 가능

✔️속성
키와 값 쌍으로 연결하는 객체 구성원
임의의 자바스크립트 값이 될 수 있다
✔️객체
여러 개의 속성을 갖는 데이터 타입
속성 모음을 저장하는 데이터 구조(속성 컬렉션)
k:v
자바스크립트에서의 객체 : 유일한 변경 가능한 값

✔️마침표 표기법 vs 대괄호 표기법
name.firstName
name[’firstName’]

Key/Value 추가하기

  • 새로운 키, 값을 객체에 추가할 수 있다.
let obj = {};
obj["name"] = "홍길동";
obj.age = 10;
console.log(obj); 
// { name: '홍길동', age: 10 }

주어진 Key의 Value 가져오기

  • 특정 키를 이용해 해당 값을 조회할 수 있습니다.
console.log(obj["name"]); // 홍길동
console.log(obj.age); // 10

Key/Value 삭제하기

  • 특정 키와 값을 객체에서 제거할 수 있습니다.
let obj = {};
obj["name"] = "홍길동";
obj.age = 10;
console.log(obj); 
// { name: '홍길동', age: 10 }

delete obj.age;

console.log(obj); // { name: '홍길동' }

주어진 Key의 Value 변경하기

  • 특정 키의 값을 새로운 값으로 변경할 수 있습니다.
let obj = {};
obj["name"] = "홍길동";
obj.age = 10;
console.log(obj); 
// { name: '홍길동', age: 10 }

obj["name"] = "이순신";

console.log(obj); // { name: '이순신' }

전체 정리

let user = {     // 객체
  name: "홍길동",  // 키: "name",  값: "홍길동"
  age: 10 ,       // 키: "age", 값: 10
  "hello apple" : true 
  // 복수 단어는 따옴표로 묶어야 한다
};

console.log(user.name); // 홍길동
console.log(user["hello apple"]); // true
// 키에 공백 포함되어 있으면 대괄호 표기법

delete user.age;
console.log(user);

delete user["hello apple"];
console.log(user);

user.name = "소나무";
console.log(user); // { name: '소나무' }

user["hello apple"] = "orange";
console.log(user)

2️⃣ 중첩 객체

let obj = {
	name : 1,
	b: {
		c:2,
		d:"hello",
		e:{
			a:3,
			d:"hi"
		}
	}
};

console.log(obj);

추가 / 삭제

let obj = {
	name : 1,
	b: {
		c:2,
		d:"hello",
		e:{
			a:3,
			d:"hi"
		}
	}
};

console.log(obj.b.e);

// "a": 3, "d": "hi"

obj.b.e.f = 100;
console.log(obj.b.e)

// "a": 3, "d": "hi", "f": 100

delete obj.b.e.a;
console.log(obj.b.e)

// "d": "hi", "f": 100
let obj = {
	name : 1,
	b: {
		c:2,
		d:"hello",
		e:{
			a:3,
			d:"hi"
		}
	}
};

console.log(obj.b.e);

// "a": 3, "d": "hi"

obj.b.e.f = 100;
console.log(obj.b.e)

// "a": 3, "d": "hi", "f": 100

delete obj.b.e.a;
console.log(obj.b.e)

// "d": "hi", "f": 100
let person = {
	name : "홍길동",
	age : 20
}

let name = person.name
let age = person.age
let age = person.['age']

// es6
let {name,age} = person
profile
Hello! My Name is oYJo

0개의 댓글