2023. 7. 26. 22:38ใ2. JS๋ฌธ๋ฒ ์ข ํฉ
- ๊ฐ์ฒด์์ฑ
1. ๊ธฐ๋ณธ์ ์ธ ๊ฐ์ฒด ์์ฑ : ๊ฐ์ฒด๋ฅผ ๋ง๋ค ๋๋ ์ค๊ดํธ({})๋ฅผ ์ฌ์ฉํ๋ฉฐ, ์์ฑ๊ณผ ๊ฐ์ ์ฝ๋ก (:)์ผ๋ก ๊ตฌ๋ถํ์ฌ ์์ฑํฉ๋๋ค. ๊ฐ ์์ฑ๊ณผ ๊ฐ์ ์ผํ(,)๋ก ๊ตฌ๋ถํ๋ค.
let person = {
name: "ํ๊ธธ๋",
age: 30,
gender: "๋จ์"
};
2. ์์ฑ์ ํจ์๋ฅผ ์ฌ์ฉํ ๊ฐ์ฒด ์์ฑ : ์์ฑ์ ํจ์ Person()์ ์ฌ์ฉ, ๊ฐ์ฒด person1๊ณผ person2๋ฅผ ์์ฑํ๋ค. ์์ฑ์ ํจ์๋ฅผ ์ฌ์ฉํ๋ฉด ์ผ๊ด์ ์ผ๋ก ๊ฐ์ฒด๋ฅผ ์์ฑ ํ ์ ์๋ค.
function Person(name, age, gender) {
this.name = name;
this.age = age;
this.gender = gender;
}
let person1 = new Person("ํ๊ธธ๋", 30, "๋จ์");
let person2 = new Person("ํ๊ธธ์", 25, "์ฌ์");
- ๊ฐ์ฒด ์์ฑ ์ ๊ทผ : ๊ฐ์ฒด์ ์์ฑ์ ์ ๊ทผํ ๋๋ ์ (.)์ ์ฌ์ฉํ์ฌ ์์ฑ ์ด๋ฆ์ ์ ๋ ฅํฉ๋๋ค.
let person = {
name: "ํ๊ธธ๋",
age: 30,
gender: "๋จ์"
};
console.log(person.name); // "ํ๊ธธ๋"
console.log(person.age); // 30
console.log(person.gender); // "๋จ์"
- ๊ฐ์ฒด ๋ฉ์๋ : ๊ฐ์ฒด๊ฐ ๊ฐ์ง ์ฌ๋ฌ๊ฐ์ง ๊ธฐ๋ฅ
1. Object.keys() ๋ฉ์๋ : Object.keys() ๋ฉ์๋๋ ๊ฐ์ฒด์ ์์ฑ ์ด๋ฆ์ ๋ฐฐ์ด๋ก ๋ฐํ.
let person = {
name: "ํ๊ธธ๋",
age: 30,
gender: "๋จ์"
};
let keys = Object.keys(person);
console.log(keys); // ["name", "age", "gender"]
2. Object.values() ๋ฉ์๋ : Object.values() ๋ฉ์๋๋ ๊ฐ์ฒด์ ์์ฑ ๊ฐ๋ค์ ๋ฐฐ์ด๋ก ๋ฐํ.
let person = {
name: "ํ๊ธธ๋",
age: 30,
gender: "๋จ์"
};
let values = Object.values(person);
console.log(values); // ["ํ๊ธธ๋", 30, "๋จ์"]
3. Object.entries() ๋ฉ์๋ : Object.entries() ๋ฉ์๋๋ ๊ฐ์ฒด์ ์์ฑ ์ด๋ฆ๊ณผ ์์ฑ ๊ฐ๋ค์ 2์ฐจ์ ๋ฐฐ์ด๋ก ๋ฐํ.
let person = {
name: "ํ๊ธธ๋",
age: 30,
gender: "๋จ์"
};
let entries = Object.entries(person);
console.log(entries);
4. Object.assign() ๋ฉ์๋ : ๊ธฐ์กด ๊ฐ์ฒด๋ฅผ ๋ณต์ฌํ์ฌ ์๋ก์ด ๊ฐ์ฒด newPerson์ ๋ง๋ ๋ค.
let person = {
name: "ํ๊ธธ๋",
age: 30,
gender: "๋จ์"
};
let newPerson = Object.assign({}, person, { age: 35 });
console.log(newPerson); // { name: "ํ๊ธธ๋", age: 35, gender: "๋จ์" }
5. ๊ฐ์ฒด๋น๊ต : ๊ฐ์ฒด๋ฅผ ๋น๊ตํ ๋๋ ์ผ๋ฐ์ ์ผ๋ก === ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ ์ ์๋ค. JSON.stringify() ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ฒด๋ฅผ ๋ฌธ์์ด๋ก ๋ณํํ ํ, ๋ฌธ์์ด ๋น๊ตํ๋ค.
let person1 = {
name: "ํ๊ธธ๋",
age: 30,
gender: "๋จ์"
};
let person2 = {
name: "ํ๊ธธ๋",
age: 30,
gender: "๋จ์"
};
console.log(person1 === person2); // false
console.log(JSON.stringify(person1) === JSON.stringify(person2)); // true
6. ๊ฐ์ฒด๋ณํฉ : ๊ฐ์ฒด ๋ณํฉ์ ํ ๋๋ ์ ๊ฐ [์ฐ์ฐ์(...) [Spread operator] ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
let person1 = {
name: "ํ๊ธธ๋",
age: 30
};
let person2 = {
gender: "๋จ์"
};
let mergedPerson = {...person1, ...person2};
console.log(mergedPerson); // { name: "ํ๊ธธ๋", age: 30, gender: "๋จ์" }
