๐ obj์ ์๋ฃ๋ฅผ ์ด๋ฐ์์ผ๋ก๋ ๋ง๋ค์ด ๋ผ ์ ์๋ค.
- ๋ณ์์ ๊ฐ์ ๋ด๋๋ค.
- ์๋ก์ด ๋ณ์์ obj์ ๋ง๋ค๊ณ , ๊ทธ ์์ ์ ์ ๋ง๋ค์ด๋ ๋ณ์ ์ด๋ฆ์ ๋ฃ์ด์ค๋ค.
- ์๋ก๋ง๋ obj.๋ณ์์ด๋ฆ ์ ์ถ๋ ฅํ๋ฉด ๋ง์น ๊ฐ์ฒด์ฒ๋ผ ํด๋น ๊ฐ์ด ์ถ๋ ฅ๋๋ค.
let p = "pop";
let j = "jaze";
let music = { p, j };
console.log(music.p); //pop
์ด๋ฐ ๋ฐฉ์์ ์ฐ๋ฆฌ๋ ๋จ์ถ์์ฑ๋ช ์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค.
๐ ๋จ์ถ์์ฑ๋ช (property shorthand)
- ๋จ์ถ์์ฑ๋ช ์ ๋ณ์๊ฐ ๋ฏธ๋ฆฌ ์ค๋น๋ ๊ฒฝ์ฐ, ์ด๋ฅผ ํ์ฉํ์ฌ ๊ฐ์ฒด์ ํค์ ๊ฐ์ ํ๋ฒ์ ์ ์ํ ์ ์๋ค.
- ๋ฌธ์์ด, ํจ์, ๊ฐ์ฒด ๋ฑ ์๋ฃํ์ ์๊ด ์์ด ์ ์ฉ์ด ๊ฐ๋ฅํ๋ค.
์๋ ์์๋ฅผ ์ดํด๋ณด์.
let country = "korea";
let member = {};
let addFamily = function (age, name, rel) {
this.member[rel] = { age, name }; //key value ์ ์ธ ๋ฐ ํ ๋น
console.log(this);
//{
// country: 'korea',
// member: { friend: { age: 30, name: 'chaeWon' } },
// addFamily: [Function: addFamily],
// }
};
let family = { country, member, addFamily };
family.addFamily(30, "chaeWon", "friend");
์กฐ๊ธ ๋ณต์กํ ์์๊ธด ํ์ง๋ง ํ๋ฒ ๋ฏ์ด๋ณด์.
์ผ๋จ ๋จ์ถ์์ฑ๋ช ( property Shorthand ) ์ด ํ๋์ ๋ณด์ด๋ ๋ถ๋ถ ๋จผ์ ์ดํด๋ณด์.
๋ณ์ country๋ฅผ ์ ์ธํ๊ณ , family๋ผ๋ obj์ ๋ณ์๋ฅผ ๋ฃ์ด์ค์ผ๋ก key&value๊ฐ ๋ค์ด๊ฐ๋ค.
๐
๋ค์์ผ๋ก addFamily๋ฅผ ์ดํด๋ณด์.
- addFamily ํจ์๋ family ๋ผ๋ ์ค๋ธ์ ํธ ๋ด๋ถ์ ์๋ ํจ์์ด๋ค.
- ์ค๋ธ์ญํธ ๋ด์ ํจ์ ์์์ this์ ์๋ฏธ๋ ๊ทธ ํจ์๋ฅผ ๊ฐ์ง๊ณ ์๋ ์ค๋ธ์ ํธ๋ฅผ ๋ปํ๋ค. (console.log(this)๋ก ๊ฒ์ฆ)
- ํจ์๊ฐ ์คํ๋๋ฉด, family.member ํค์ ๊ฐ์ผ๋ก ๋๋ค๋ฅธ obj๋ฅผ ๋ฃ์ด์ค๋ค.
- ํค ์ด๋ฆ์ rel, ๊ฐ์ name, age ์ธ obj๊ฐ ์๊ฒจ๋๋ค.
- ๋ง๋ ๋ค์ this๋ฅผ ์ถ๋ ฅํ์์ผ๋ก, family๋ผ๋ obj๋ ์ ๋ ๊ฒ ๊ฐ์ด ๋ค์ด๊ฐ ์ ธ ์๋ ์ํฉ์ด ๋๋ค.
์ฐธ๊ณ ํ ๋ธ๋ก๊ทธ
es6์๋ ์ ๋ง ๋ง์ ๊ธฐ๋ฅ๋ค์ด ๋ค์ด์๋๋ฐ, ์์ง ๋ฎ์ค์ด์ ์ ๋ง ๋ง์ด ๋ด์ผ๊ฒ๋ค..
'TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
23/10/15 TIL __ .call() / .apply() / .bind() (1) | 2023.10.15 |
---|---|
23/10/14 TIL __ this ์ ๋ฐ์ธ๋ฉ (0) | 2023.10.14 |
23/10/12 TIL _ switch / break / continue (0) | 2023.10.12 |
23/10/11 TIL (1) | 2023.10.12 |
23/10/08 TIL _ ๊ฒ์ํ ๊ธ๋ฒํธ (1) | 2023.10.08 |