🧠 κ°μ²΄λž€?

**객체(Object)**λŠ” **μ„œλ‘œ κ΄€λ ¨ μžˆλŠ” 데이터(속성)**와 **κΈ°λŠ₯(λ©”μ„œλ“œ)**λ₯Ό ν•˜λ‚˜λ‘œ 묢은 자료 κ΅¬μ‘°μž…λ‹ˆλ‹€.

const car = {
  brand: "Tesla",           // 속성 (property)
  speed: 100,
  drive: function() {       // λ©”μ„œλ“œ (method)
    console.log("Driving...");
  }
};

βœ”οΈ κ°μ²΄λŠ” μ‹€μƒν™œμ—μ„œμ˜ β€˜μ‚¬λ¬Όβ€™κ³Ό λΉ„μŠ·ν•©λ‹ˆλ‹€.

예: β€œμžλ™μ°¨β€λŠ” λΈŒλžœλ“œ(속성)와 μš΄μ „(λ™μž‘)을 κ°€μ§€κ³  μžˆμŠ΅λ‹ˆλ‹€.


🧱 객체의 ꡬ성 μš”μ†Œ

μš”μ†Œ μ„€λͺ… μ˜ˆμ‹œ
속성(Property) key: value 쌍으둜 정보λ₯Ό μ €μž₯ brand: "Tesla"
λ©”μ„œλ“œ(Method) 객체 μ•ˆμ˜ ν•¨μˆ˜ (λ™μž‘) drive: function() {}

πŸ› οΈ 객체 생성 방법

방식 μ„€λͺ… μ˜ˆμ‹œ
λ¦¬ν„°λŸ΄ κ°€μž₯ κ°„λ‹¨ν•œ 방식 const obj = { key: value };
μƒμ„±μž ν•¨μˆ˜ new Object() μ‚¬μš© const obj = new Object();
클래슀(ES6) 객체 ν‹€ 생성 class Person { constructor() {} }
// λ¦¬ν„°λŸ΄ 방식
const user = {
  name: "Lee",
  sayHi: function() {
    console.log("Hello");
  }
};

// μƒμ„±μž 방식
const user2 = new Object();
user2.name = "Kim";

// 클래슀 방식
class User {
  constructor(name) {
    this.name = name;
  }
}
const user3 = new User("Park");


πŸ”‘ 객체 속성 μ ‘κ·Ό 방법

방법 문법 μ˜ˆμ‹œ
점 ν‘œκΈ°λ²• obj.key user.name
λŒ€κ΄„ν˜Έ ν‘œκΈ°λ²• obj["key"] user["name"]

λŒ€κ΄„ν˜Έ ν‘œκΈ°λ²•μ€ ν‚€κ°€ λ³€μˆ˜μΌ λ•Œ μœ μš©ν•©λ‹ˆλ‹€.


✏️ 속성 μΆ”κ°€, μˆ˜μ •, μ‚­μ œ

const person = {};
person.name = "Lee";           // μΆ”κ°€
person.name = "Kim";           // μˆ˜μ •
delete person.name;            // μ‚­μ œ