1. primitive type
// number, string, boolean, null, undefined, symbol
let age = 2;
let num = '2';
- ๋ด์ ์ ์๋ ๊ฐ์ฅ ์์ ๋จ์์ ๋ฐ์ดํฐ๋ค
- ๋ณ์ ์ด๋ฆ ์ง์ ์ ์๋ฏธ ์๋ ์ด๋ฆ์ผ๋ก ์ง์ ํ๊ธฐ (number โก age)
let number = 2;
let number2 = number;
- primitive ์ ์ธ ์ ๊ฐ ๋ฉ๋ชจ๋ฆฌ ํ ๋น
2. object type
- primitive ์ด์ธ์ ๋ชจ๋ ๋ฐ์ดํฐ๋ค
- ์ต์ํ 1~2๊ฐ์ง์ ๋ฐ์ดํฐ๋ฅผ ํ ๊ตฐ๋ฐ์ ๋ฌถ์ด๋์ ๊ฒ
- ํจ์๋ ํฌํจ
- key์ value๋ก ๊ตฌ์ฑ
let obj = {
name: 'ellie',
age: 5,
}
obj.name; // obj๋ฅผ ๊ฐ๋ฆฌํค๋ ๊ณณ์ name์ด๋ผ๋ ๊ฐ์ ์ฐพ๋๋ค
- ๊ฐ key๋ง๋ค ๋ฉ๋ชจ๋ฆฌ ํ ๋น๋๊ณ , ์ด ๋ฉ๋ชจ๋ฆฌ๋ค์ ๋ฌถ์ ์์น๋ฅผ ๋ํ๋ด๋ reference(์ฃผ์)๊ฐ ์๋ค.
let obj2 = obj;
- obj2๋ผ๋ ๋ณ์์ ์๋ก์ด ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ด ์๊ธฐ๊ณ , obj์ reference๊ฐ ๋ณต์ฌ๋๋ค.
- obj์ ๋ค์ด์๋ ์ฃผ์๋ฅผ ์ด์ฉํด์ obj์ ๊ฐ(name, age)์ ์ด์ฉ
- ์ด ๋, obj์ ๊ฐ์ ๋ณ๊ฒฝํ๊ฒ ๋๋ฉด obj2์ ๊ฐ ๋ํ ๋ณ๊ฒฝ๋๋ค.
3. let๊ณผ const
- let: ์ ์ธ ํ ๊ฐ ๋ณ๊ฒฝ ๊ฐ๋ฅ
- const: ์ ์ธ ํ ๊ฐ ๋ณ๊ฒฝ ๋ถ๊ฐ, ์์ ๋ณ์
- object๊ฐ const์ธ ๊ฒฝ์ฐ?
const obj = {
name: 'ellie',
age: 5,
};
// const๋ก ์ ์ธ๋ obj์ reference ๋ณ๊ฒฝ ๋ถ๊ฐ
obj = {
name: 'james',
age: 7,
};
// But, obj๊ฐ ๊ฐ๋ฆฌํค๋ ๊ฐ ๋ณ๊ฒฝ์ ๊ฐ๋ฅ
obj.name = 'James';
- obj๊ฐ const์ธ ๊ฒฝ์ฐ์๋, ์์ฒด์ reference ๊ฐ์ ๋ณ๊ฒฝ์ด ๋ถ๊ฐํ๋ค.
- ์์ ๋ณ์๊ฐ ๋ด๊ฒจ์๋ reference ์์ฒด๋ฅผ ๋ณ๊ฒฝํ๋ ๊ฒ์ด ๋ถ๊ฐ๋ฅํ๋ค.
- obj๊ฐ ๊ฐ๋ฆฌํค๋ ๊ฒ์ ๋ค๋ฅธ ๊ฐ์ผ๋ก ๋ณ๊ฒฝํ๋ ๊ฒ์ ๊ฐ๋ฅํ๋ค.
- object๋ object ์์ฒด๊ฐ ๋ด๊ฒจ์๋ ๊ฒ์ด ์๋๋ผ, ์ด๋๊ฐ์ ๋ฐ๋ก ์ ์ฅ์ด ๋์ด์๋ค. reference๋ง ์์ ๋ณ์์ ๋ด๊ฒจ์๋ค.
์ฐธ๊ณ
youtube ๋๋ฆผ์ฝ๋ฉ by ์๋ฆฌ
https://www.youtube.com/watch?v=__Zz17_5FRU&list=PLv2d7VI9OotTVOL4QmPfvJWPJvkmv6h-2&index=15
'language > javascript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์๋ฐ์คํฌ๋ฆฝํธ ๊ธฐ์ด 3. ์ฐ์ฐ์ | boolean์ ๋ชจ๋ ๊ฒ && ์ฐ์ฐ์ (0) | 2021.12.02 |
---|---|
์๋ฐ์คํฌ๋ฆฝํธ ๊ธฐ์ด 2. ํจ์ | ํจ์ ์ ์, ํธ์ถ, ๊ทธ๋ฆฌ๊ณ ์ฝ๋ฐฑํจ์ (0) | 2021.12.02 |
์๋ฐ์คํฌ๋ฆฝํธ ํจ์ ๊ธฐ๋ณธํธ (0) | 2021.12.02 |
JavaScript async์ await, ์ ์ฉํ Promise APIs (0) | 2021.11.30 |
Promise ๊ฐ๋ ๋ถํฐ ํ์ฉ๊น์ง (0) | 2021.11.30 |