๐คทโ๏ธ ๋ณธ๋ก ์ ์์ ์ค์ํ ๋ฐฐ์ด ์ฌ์ ์ง์ ๊ณต๋ถํ๊ธฐ
๋ฐฐ์ด reduce() ํจ์ ์ฌ์ฉ๋ฒ์ ๋ํด ์์๋ณด๊ธฐ
https://cometruedream.tistory.com/259
๋ฐฐ์ด reduce() ํจ์ ์ฌ์ฉ๋ฒ์ ๋ํด ์์๋ณด๊ธฐ
https://cometruedream.tistory.com/256
๋ฐฐ์ด join() ํจ์ ์ฌ์ฉ๋ฒ์ ๋ํด ์์๋ณด๊ธฐ
https://cometruedream.tistory.com/254
๋ฐฐ์ด map(), forEach() ์ธ๊ธฐ ์๋ ๋ฉ์๋ ์ฌ์ฉ๋ฒ์ ๋ํด ์์๋ณด๊ธฐ
https://cometruedream.tistory.com/253
ํ์ฉ๊ฐ์น๊ฐ ์ข์ every(), some() ํจ์ ์ฌ์ฉ๋ฒ์ ๋ํด ์์๋ณด๊ธฐ
https://cometruedream.tistory.com/250
๐คทโ๏ธ ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์ฒด๋?
์๋ฐ์คํฌ๋ฆฝํธ๋ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋๋ค.
๊ฐ์ฒด ์งํฅ ๋ง ๊ทธ๋๋ก ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅ, ์กฐํ, ์์ , ์ญ์ ์ ์ฝ๋๋ฅผ ๊ตฌ์ฑํฉ๋๋ค.
๊ฐ์ฒด๋๋ object๋ผ๊ณ ๋ ๋ถ๋ฆ ๋๋ค. ๊ฐ์ฒด๋ ๋ค๋ฅธ ๋ฐ์ดํฐ ์ ํ๊ณผ ๋ฌ๋ฆฌ ๋์ ์ผ๋ก ์์ฑ์ ์ถ๊ฐ, ์ญ์ , ์์ ์ ํ ์ ์์ต๋๋ค.
์๋ฐ์คํฌ๋ฆฝํธ ์ ๋ฌธ์ฑ์ ๋์ด๊ธฐ ์ํด์ ๊ฐ์ฒด์ ๊ฐ๋ ๊ณผ ์ฌ์ฉ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค.
์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์ฒด๋ ๋ฌด์์ธ๊ฐ?
๐ก ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์ฒด๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ชจ๋ ํฌํจํ๋ ๋ฐ์ดํฐ ์ ํ์ ๋๋ค. ๊ฐ์ฒด๋ {}๋ก ํ์๋๋ฉฐ ๊ฐ์ฒด๋ ์์ฑ์ด๋ผ๊ณ ํ๋ ๋ณ์์ ํจ์๊ฐ ํฌํจ๋ฉ๋๋ค. ์์ฑ์ ๊ฐ์ฒด์ ์ํ๋ฅผ ์ ์ฅํ๊ณ ํจ์๋ ๊ฐ์ฒด์ ๋์์ ๊ฒฐ์ ํฉ๋๋ค.
๐คทโ๏ธ ๊ฐ์ฒด(object)๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ?
์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ๋ค์ํ ๋ฐฉ๋ฒ๋ค์ด ์์ต๋๋ค.
๋ค์์ ๊ฐ์ฒด๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ ์ค ๋ช ๊ฐ์ง ์์์ ๋๋ค.
๋ฆฌํฐ๋ด ํ๊ธฐ๋ฒ(Literal Notation)
const person = {
firstName: "๊ตญํ",
lastName: "์ ",
age: 28,
fullName: function() {
return this.firstName + " " + this.lastName;
}
}
๊ฐ์ฒด ๋ฆฌํฐ๋ด ๋ฐฉ์์ ์๋ฐ์คํฌ๋ฆฝํธ์ ์ ์ฐํจ๊ณผ ๊ฐ๋ ฅํจ์ ๋ํํ๋ ๊ฐ์ฒด ์์ฑ ๋ฐฉ์์ด๋ค.
๊ฐ์ฑ๋ฅผ ์์ฑํ๊ธฐ ์ํด์ ํด๋์ค๋ฅผ ์ ์ํ๊ฑฐ๋ ์ธ์คํด์ค๋ฅผ ์ ์ธํ์ง ์๊ณ ๋ ์ฝ๊ฒ ๊ฐ์ฒด๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.
์์ฑ์ ํจ์(Constructor Function)
function Person(firstName, lastName, age) {
this.firstName = firstName;
this.lastName = lastName;
this.age = age;
this.fullName = function() {
return this.firstName + " " + this.lastName;
}
}
const person = new Person("๊ตญํ", "์ ", 28);
๐คทโ๏ธ ๊ฐ์ฒด(object)๋ฅผ ์ ๊ทผํ๋ ๋ฐฉ๋ฒ?
์๋ฐ์คํฌ๋ฆฝํธ์์ ๊ฐ์ฒด์ ์์ฑ์ ์ ๊ทผํ๋ ๋ค์ํ ๋ฐฉ๋ฒ์ด ์กด์ฌํฉ๋๋ค.
๊ฐ์ฒด์ ์์ฑ์๋ ์ (dot)๊ณผ ๋๊ดํธ(bracket)๋ฅผ ์ฌ์ฉํ์ฌ ์ ๊ทผํ ์ ์์ต๋๋ค.
์ (dot) ๊ฐ์ฒด ์ ๊ทผ๋ฒ
const person = {
firstName: "๊ตญํ",
lastName: "์ ",
age: 32,
fullName: function() {
return this.firstName + " " + this.lastName;
}
}
console.log(person.firstName); // ๊ฒฐ๊ณผ๊ฐ: ๊ตญํ
๋๊ดํธ(bracket) ๊ฐ์ฒด ์ ๊ทผ๋ฒ
const person = {
firstName: "๊ตญํ",
lastName: "์ ",
age: 32,
fullName: function() {
return this.firstName + " " + this.lastName;
}
}
console.log(person["firstName"]); // ๊ฒฐ๊ณผ๊ฐ: ๊ตญํ
๋ํ์ ์ผ๋ก ์ฌ์ฉํ๋ ์ (dot)๊ณผ ๋๊ดํธ(bracket) ํ์ฉํด์ ๊ฐ์ฒด์ ์์ฑ์ ์ ๊ทผํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด์์ต๋๋ค.
๐คทโ๏ธ ๊ฐ์ฒด(object) ๋ค๋ฃจ๊ธฐ?
์๋ฐ์คํฌ๋ฆฝํธ์์ ๊ฐ์ฒด๋ฅผ ๋ค๋ฃจ๋ ์ฌ๋ฌ๊ฐ์ง ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.
๊ฐ์ฒด์ ๊ฐ์ ๋ณ๊ฒฝํ๊ณ ์๋ก์ด ์์ฑ์ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด๊ฒ ์ต๋๋ค.
https://cometruedream.tistory.com/223
๊ฐ์ฒด ์์ ํ๋ ๋ฐฉ๋ฒ
const person = {
firstName: "๊ตญํ",
lastName: "์ ",
age: 32,
fullName: function() {
return this.firstName + " " + this.lastName;
}
}
person.firstName = "์ฅํ";
person.age = 29;
console.log(person.firstName) //๊ฒฐ๊ณผ๊ฐ: ์ฅํ
๊ฐ์ฒด ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ
const person = {
firstName: "๊ตญํ",
lastName: "์ ",
age: 32,
fullName: function() {
return this.firstName + " " + this.lastName;
}
}
pserson.area = '์์ธ'
console.log(pserson.area) //๊ฒฐ๊ณผ๊ฐ: ์์ธ
๊ฐ์ฒด ์ญ์ ํ๋ ๋ฐฉ๋ฒ
const person = {
firstName: "๊ตญํ",
lastName: "์ ",
age: 32,
fullName: function() {
return this.firstName + " " + this.lastName;
}
}
delete person.age
console.log(pserson.age) //undefined
๊ฐ์ฒด ๋ณํฉํ๋ ๋ฐฉ๋ฒ
const person = {
firstName: "๊ตญํ",
lastName: "์ ",
age: 32,
fullName: function() {
return this.firstName + " " + this.lastName;
}
}
const coiedPerson = Object.assign({}, person)
console.log(coiedPerson)
//๊ฒฐ๊ณผ๊ฐ:
{
"firstName": "๊ตญํ",
"lastName": "์ ",
"age": 32
}
๊ฐ์ฒด๋ฅผ ๋ถํดํ๋ ๋ฐฉ๋ฒ
๊ตฌ์กฐ๋ถํดํ ๋น์ด๋ฉฐ ๋ง์ด ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
const person = {
firstName: "๊ตญํ",
lastName: "์ ",
age: 32,
fullName: function() {
return this.firstName + " " + this.lastName;
}
}
const {firstName, lastName, age} = person;
console.log(firstName) //๊ตญํ
console.log(lastName) //์
console.log(age) //32
์๋ฐ์คํฌ๋ฆฝํธ๋ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์ด๋ฉฐ ๊ฐ์ฒด๋ key์ value ์์ฑ์ ๊ฐ์ง๊ณ ์์ผ๋ฉด ์์์ ์ถ๊ฐ, ์ญ์ , ์์ , ๋ณํฉ, ๊ตฌ์กฐ๋ถํดํ ๋น์ ๋ํด์ ์์๋ณด์์ต๋๋ค.
๐คทโ๏ธ ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์ฒด์ JSON?
JSON์ ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์ฒด๋ฅผ ์ ์กํ๊ธฐ ์ํ ๊ฒฝ๋ ๋ฐ์ดํฐ ๊ตํ ๋ฐฉ์์ ๋๋ค.
์๋ฐ์คํฌ๋ฆฝํธ์์๋ ๊ฐ์ฒด๋ฅผ JSON์ผ๋ก JSON์ ๊ฐ์ฒด๋ก ๋ณํํ์ฌ ๋ค๋ฅธ ์์คํ ์ ์ ์กํ ์ ์์ต๋๋ค.
JSON ๋ฌธ์์ด ํน์ง
๐ก JSON ๋ฌธ์์ด์ ํน์ง์ key์ value ์๋ค์ดํ์ ๊ฐ์ธ์ ธ ์์ต๋๋ค.
๊ฐ์ฒด๋ฅผ ๋ถํดํ๋ ๋ฐฉ๋ฒ
const person = {
firstName: "๊ตญํ",
lastName: "์ ",
age: 32,
fullName: function() {
return this.firstName + " " + this.lastName;
}
}
console.log(JSON.stringify(person))
//๊ฒฐ๊ณผ๊ฐ: {"firstName":"๊ตญํ","lastName":"์ ","age":32}
์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์ฒด๋ฅผ JSON ๋ฌธ์์ด๋ก ๋ณํํ๋ ๋ฐฉ๋ฒ
const json = '{"firstName":"๊ตญํ","lastName":"์ ","age":32}'
const person = JSON.parse(json);
console.log(person);
๐คทโ๏ธ ๋ง์ง๋ง์ผ๋ก
์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์ฒด๋ ๋ฐ์ดํฐ๋ฅผ ์กฐ์ํ๋ ๋ฉ์๋๋ฅผ ๋ชจ๋ ํฌํจํ key์ value์ ๋ฐ์ดํฐ ์ ํ์ ๋๋ค.
๊ฐ์ฒด๋ฅผ ์์ฑ, ์์ , ์ญ์ , ๋ณํฉ, ์กฐํ ํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด์์ผ๋ฉฐ ๊ฐ์ฒด์ JSON ๋ณํํ๋ ๋ฐฉ๋ฒ๋ ์์๋ณด์์ต๋๋ค.
๊ฐ์ฒด๋ฅผ ๋ค๋ฃจ๋ ๊ฒ์ ์๋ฐ์คํฌ๋ฆฝํธ ํ๋ก๊ทธ๋จ์์ ์ค์ํ ๊ธฐ์ ์ด๋ฉฐ ์ง๊ธ์ ๊ธฐ๋ณธ์ ์ธ ๋ถ๋ถ๋ง ๋ค๋ค์ง๋ง ๋ ์ ๋ฌธ์ฑ์ ๋์ด๊ธฐ ์ํด์ ๊ณ์ํด์ ๊ณต๋ถ๋ฅผ ํด์ผ๊ฒ ์ต๋๋ค.
์ฌ๋ฐ๋ ์ค๋์ ๋ ๋ณ ์ด์ธ ๋ณด๊ณ ๊ฐ์ธ์!
https://cometruedream.tistory.com/247
https://cometruedream.tistory.com/243
https://cometruedream.tistory.com/242
https://cometruedream.tistory.com/241
https://cometruedream.tistory.com/244