๊ฐ์ฒด๋ฅผ ๋ฐฐ์ฐ๋ ์ด์ !
๊ฐ๊ธฐ ๋ค๋ฅธ ๊ฐ์ ๊ฐ์ง์ง๋ง, ์ ๋ ฅํด์ผ ํ๋ ๋ฐ์ดํฐ์ ์ข ๋ฅ๊ฐ ๋์ผํ ๊ฒฝ์ฐ ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ๋ฉด ์์ฝ๊ฒ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ ์ ์๋ค.
๋ชฉํ!
๋ฐฐ์ด๊ณผ ๊ฐ์ฒด์ ํน์ง์ ๊ตฌ๋ถํ๊ณ , ๋ฐฐ์ด๊ณผ ๊ฐ์ฒด์ ํน์ง์ ๋ฐ๋ผ ์น ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ ์ ์ด๋ป๊ฒ ์ฌ์ฉ๋๋์ง ์ดํดํ๋ค.
๊ฐ์ฒด ์์ฑ(property)์ ์ถ๊ฐ, ์กฐํ, ๋ณ๊ฒฝ, ์ญ์ ๋ฅผ ์์ ์์ฌ๋ก ํ ์ ์๋ค.
๊ฐ์ฒด ์์ฑ ์กฐํ๋ฒ ๋ ๊ฐ์ง, dot notation๊ณผ bracket notation์ ์ฐจ์ด๋ฅผ ์ดํดํ๋ค.
๋ฐฐ์ด๊ณผ ๊ฐ์ฒด, ๋ฐ๋ณต๋ฌธ์ ์์ฉํ์ฌ ๋ฅ์ํ๊ฒ ๋๋์ ์ ๋ณด๋ฅผ ๋ค๋ฃฐ ์ ์๋ค.
๊ฐ์ฒด๋ ํค(key)์ ๊ฐ(value)์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค.
let user = {
firstName: ‘Hailie’,
lastName: ‘Lee',
email: ‘0000@gmail.com’,
city: ‘Gyeonggi’
}
// ํค(key)๋ firstName, lastName, email, city
// ๊ฐ(value)๋ ‘Hailie’, ‘Lee', ‘0000@gmail.com’, ‘Gyeonggi’
// ํค์ ๊ฐ ์ฌ์ด๋ ์ฝ๋ก : ์ผ๋ก ๊ตฌ๋ถํ๋ค.
// ์ค๊ดํธ{curly bracket}๋ฅผ ์ด์ฉํด์ ๊ฐ์ฒด๋ฅผ ๋ง๋ ๋ค.
// ํค-๊ฐ ์์ ์ผํ,๋ก ๊ตฌ๋ถํด์ค๋ค.
๊ฐ์ฒด์ ๊ฐ์ ์ ๊ทผํ๋ ๋ฐฉ๋ฒ / ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ
๋ฐฉ๋ฒ1. Dot notation
let user = {
firstName: ‘Hailie’,
lastName: ‘Lee',
email: ‘0000@gmail.com’,
city: ‘Gyeonggi’
}
user.firstName; // 'Hailie'
user.city; // ‘Gyeonggi’
๋ฐฉ๋ฒ2. Bracket notation => ๋ฐ๋์ ์จ์ผํ๋ ๊ฒฝ์ฐ๋ ํค ๊ฐ์ด ๋ณ์์ผ๋!!
let user = {
firstName: ‘Hailie’,
lastName: ‘Lee',
email: ‘0000@gmail.com’,
city: ‘Gyeonggi’
}
user['firstName']; // 'Hailie'
user['city']; // ‘Gyeonggi’
โญ๏ธโญ๏ธโญ๏ธ์ค์ํฌ์ธํธโญ๏ธโญ๏ธโญ๏ธ
์ง์ง key ๊ฐ์ ๊ฐ์ ธ์ฌ๋
user.firstName
user['firstName']
firstName๋ผ๋ ๋ณ์๋ฅผ ๊ฐ์ ธ์ฌ๋
user[firstName]
๊ฐ ์ถ๊ฐํ๊ธฐ
let user = {
firstName: ‘Hailie’,
lastName: ‘Lee',
email: ‘0000@gmail.com’,
city: ‘Gyeonggi’
}
user['category'] = 'blog';
user.isStudent = false;
user.color = 'yellow';
๊ฐ ์ญ์ ํ๊ธฐ delete
let user = {
firstName: ‘Hailie’,
lastName: ‘Lee',
email: ‘0000@gmail.com’,
city: ‘Gyeonggi’
}
delete user.email; // email ํค-๊ฐ ์ง์ฐ๊ธฐ
// users๋ ๋ค์๊ณผ ๊ฐ๊ฒ ๋๋ค.
{firstName: ‘Hailie’,lastName: ‘Lee', city: ‘Gyeonggi’}
์ฐพ๊ณ ์ถ์ ํค๊ฐ ์๋์ง ํ์ธํ๊ธฐ in ์ฐ์ฐ์
let user = {
firstName: ‘Hailie’,
lastName: ‘Lee',
city: ‘Gyeonggi’
}
'city' in user; // true
'email' in user; // false