language/javascript

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ์ดˆ 1. ๋ณ€์ˆ˜ | primitive ํƒ€์ž…๊ณผ object์˜ ์ฐจ์ด์ 

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