๋ณ์๊ฐ ์ ์ฅ๋๋ ๋ฐฉ๋ฒ variable types (primitive or object)
primitive > single item : numver, string, boolean , null , undefined , symbol
object > box container (์ผ์์ํ์์ ๋ณผ ์ ์๋ ๋ฌผ๊ฑด ๋ฌผ์ฒด๋ฑ์ ๋ํํ๋ ๋ฐ์คํํ)
primitive ํ์ ๊ณผ object ์ ํ์ ์ด ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋๋ ํํ
primitive type
let name = 'ellie'; // name์ด๋ ๋ณ์์ ellie ์ ์ธ
name = 'hello'; // ๋ณ์ ์ฌํ ๋น
console.log('name: ', name); // name = hello ๊ฐ๋จ
๊ฐ ์์ฒด๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋จ
object type
const ellie = { name: 'ellie', age: 20 };
//์ด ellie ๋ const ๋ก ์ง์ ์ด ๋์ด์์ด์ ํ๋ฒ ํ ๋น๋ ์ด ์ค๋ธ์ ํธ๋ ๋ค๋ฅธ ์ค๋ธ์ ํธ๋ก ํ ๋น ๋ถ๊ฐ
//๋จ ellie ์ค๋ธ์ ํธ ์์ name๊ณผ age ๋ก ๋ณ์๊ฐ ์์ด์ ellie.name ์ผ๋ก ๋ณ์์ ์ ๊ทผํด ์ฌํ ๋น ๊ฐ๋ฅ
ellie.name = 'ellllllllie';
ellie.age = 30;
console.log('ellie: ', ellie);
๋๋ฌด์ปค์ ๋ฉ๋ชจ๋ฆฌ์ ํ๋ฒ์ ์ฌ๋ผ๊ฐ์ง ๋ชปํจ
์ค๋ธ์ ํธ๊ฐ ๊ฐ๋ฆฌํค๋ ๋ ํผ๋ฐ์ค๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ
*์ถ๊ฐ๋ ธํธ ๋ฐ์ดํฐํ์
immutable data type : premitive type , frozen objects ( ๋ฐ์ดํฐ ์์ฒด๋ฅผ ์ ๋ ๋ณ๊ฒฝ๋ถ๊ฐ)
mutable data types : all objects , ๋ฐฐ์ด (๋ณ์ ์ฌํ ๋น ๊ฐ๋ฅ)
- ์๋ฐ์คํฌ๋ฆฝํธ์์ ๋ชจ๋ ์ค๋ธ์ ํธ๋ค์ด ๋๋ถ๋ถ ๋ณ๊ฒฝ์ด ๊ฐ๋ฅํ๋ค.
//์ด๋ฐ๊ฒ๋ค์ด ๋ณ๊ฒฝ ๊ฐ๋ฅํ mutable data types : ๋ฐฐ์ด
const ellie = { name: 'ellie', age: 20 };
ellie.name = 'ellllllllie';
ellie.age = 30;
์ถ์ฒ : ๋๋ฆผ์ฝ๋ฉ ๋ณด๋ฉด์ ๊ณต๋ถ์ค!
https://youtu.be/YBjufjBaxHo?si=S_ZStoqFhsJcJnho