๊ด€๋ฆฌ ๋ฉ”๋‰ด

axnuo

[ ํ˜ผ๊ณต๋‹จ / JS ] 5์ฃผ์ฐจ - Chapter 06 ๊ฐ์ฒด ๋ณธ๋ฌธ

JS/ํ˜ผ๊ณต๋‹จ

[ ํ˜ผ๊ณต๋‹จ / JS ] 5์ฃผ์ฐจ - Chapter 06 ๊ฐ์ฒด

axnuo 2023. 8. 13. 22:56

๐Ÿ’ก ์ง„๋„ : Chapter 06

๐Ÿ’ก ๊ธฐ๋ณธ ๋ฏธ์…˜ : ๊ฐ์ฒด, ์†์„ฑ, ๋ฉ”์†Œ๋“œ๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์„ค๋ช…ํ•˜๊ธฐ

๐Ÿ’ก p.288 ํ™•์ธ ๋ฌธ์ œ 3๋ฒˆ ํ’€๊ณ , ํ’€์ด ๊ณผ์ • ์„ค๋ช…ํ•˜๊ธฐ

๊ธฐ๋ณธ ๋ฏธ์…˜

  • ๊ฐ์ฒด : ์‹ค์ œ๋กœ ์กด์žฌํ•˜๋Š” ์‚ฌ๋ฌผ
  • ์†์„ฑ : ๊ฐ์ฒด ๋‚ด๋ถ€์— ์žˆ๋Š” ๊ฐ’
  • ๋ฉ”์†Œ๋“œ : ๊ฐ์ฒด์˜ ์†์„ฑ ์ค‘ ํ•จ์ˆ˜ ์ž๋ฃŒํ˜•์ธ ์†์„ฑ

์„ ํƒ ๋ฏธ์…˜

Math ๊ฐ์ฒด๋ฅผ ํ™œ์šฉํ•ด ์‚ฌ์ธ 90๋„์˜ ๊ฐ’ (==1)์„ ๊ตฌํ•˜๋ผ!

const degree = 90

const a = Math.sin(degree)
console.log(a)

→ ์ด๋ ‡๊ฒŒ ์ถœ๋ ฅํ•˜๋ฉด 0.8939966… ์ด ์ถœ๋ ฅ๋œ๋‹ค.

๊ทธ ์ด์œ ๋Š” JS์˜ Math.sin() ํ•จ์ˆ˜๋Š” ๋ผ๋””์•ˆ๊ฐ’์„ ์‚ฌ์šฉํ•ด sin๊ฐ’์„ ๊ณ„์‚ฐํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค~!!!!

์—ฌ๊ธฐ์„œ ๋ผ๋””์•ˆ=(๊ฐ๋„*ํŒŒ์ด)/180 ์ด๋‹ค. ๋”ฐ๋ผ์„œ ๊ฐ๋„๋ฅผ ๋ผ๋””์•ˆ์œผ๋กœ ๋ณ€ํ™˜ํ•ด์ค˜์•ผ ํ•ฉ๋‹ˆ๋‹ค~

const degree = 90;
const radian = (degree * Math.PI) / 180; // ๊ฐ๋„๋ฅผ ๋ผ๋””์•ˆ์œผ๋กœ ๋ณ€ํ™˜

const a = Math.sin(radian);
console.log(a); // 1

06-1 ๊ฐ์ฒด์˜ ๊ธฐ๋ณธ

  • ๊ฐ์ฒด
    • ๋ฐฐ์—ด๋„ ํ•˜๋‚˜์˜ ๊ฐ์ฒด์ด๋‹ค.
    • ๋ฐฐ์—ด → ์ธ๋ฑ์Šค์™€ ์š”์†Œ๋ฅผ ๊ฐ€์ง
    • ๋ฐฐ์—ด์€ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์ง€๋งŒ ๊ฐ์ฒด๋Š” ํ‚ค๋ฅผ ์‚ฌ์šฉํ•จ.
    • ๊ฐ์ฒด ์„ ์–ธ ์˜ˆ์‹œ
    const product = {
    	์ œํ’ˆ๋ช…: '7D ๊ฑด์กฐ ๋ง๊ณ ',
    	์œ ํ˜•: '๋‹น์ ˆ์ž„',
    	์„ฑ๋ถ„: '๋ง๊ณ , ์„คํƒ•, ๋ฉ”ํƒ€์ค‘์•„ํ™ฉ์‚ฐ๋‚˜ํŠธ๋ฅจ'
    }
    
    → product[’์ œํ’ˆ๋ช…’] || product.์ œํ’ˆ๋ช… ์ด๋ ‡๊ฒŒ ์ž…๋ ฅํ•˜๋ฉด ์š”์†Œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Œ
  • ์†์„ฑ๊ณผ ๋ฉ”์†Œ๋“œ
    • ์†์„ฑ - ๊ฐ์ฒด ๋‚ด๋ถ€์— ์žˆ๋Š” ๊ฐ’, ๋ชจ๋“  ํ˜•ํƒœ์˜ ์ž๋ฃŒํ˜•์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Œ
    • ๋ฉ”์†Œ๋“œ - ํ•จ์ˆ˜ ์ž๋ฃŒํ˜•์ธ ์†์„ฑ
    • ์ž๊ธฐ ์ž์‹ ์ด ๊ฐ€์ง„ ์†์„ฑ์„ ์ถœ๋ ฅํ•˜๊ธฐ ์œ„ํ•ด์„  this ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•จ.
    • const pet = { name: '๊ตฌ๋ฆ„', eat: function (food) { alert(this.name + '์€/๋Š”' + food + '์„/๋ฅผ ๋จน์Šต๋‹ˆ๋‹ค.') } } pet.eat('๋ฐฅ')
  • ๋™์ ์œผ๋กœ ๊ฐ์ฒด ์†์„ฑ ์ถ”๊ฐ€/์ œ๊ฑฐ
    • ๋™์ ์œผ๋กœ ๊ฐ์ฒด ์†์„ฑ ์ถ”๊ฐ€ํ•˜๊ธฐ
    • JSON.stringify(student, null, 2)
    • ๋™์ ์œผ๋กœ ๊ฐ์ฒด ์†์„ฑ ์ œ๊ฑฐํ•˜๊ธฐ
    • delete ๊ฐ์ฒด.์†์„ฑ
  • ๊ฐ์ฒด๋ฅผ ์ฒ˜์Œ ์ƒ์„ฑํ•œ ํ›„์— ์†์„ฑ์„ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์ œ๊ฑฐํ•˜๋Š” ๊ฒƒ == ๋™์ ์ธ ๊ฒƒ!

06-2 ๊ฐ์ฒด์˜ ์†์„ฑ๊ณผ ๋ฉ”์†Œ๋“œ ์‚ฌ์šฉํ•˜๊ธฐ

  • ๊ฐ์ฒด ์ž๋ฃŒํ˜•
  • ์†์„ฑ๊ณผ ๋ฉ”์†Œ๋“œ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๊ฒƒ์€ ๊ฐ์ฒด (๋ฐฐ์—ด, ํ•จ์ˆ˜๋„ ๊ฐ์ฒด)
  • ๊ธฐ๋ณธ ์ž๋ฃŒํ˜•
  • ์‹ค์ฒด๊ฐ€ ์žˆ๋Š” ๊ฒƒ ์ค‘ ๊ฐ์ฒด๊ฐ€ ์•„๋‹Œ ๊ฒƒ (์ˆซ์ž, ๋ฌธ์ž์—ด, ๋ถˆ)
  • ๊ธฐ๋ณธ ์ž๋ฃŒํ˜•์„ ๊ฐ์ฒด๋กœ ์„ ์–ธํ•˜๊ธฐ
    • const ๊ฐ์ฒด = new ๊ฐ์ฒด์ž๋ฃŒํ˜•์ด๋ฆ„()์†์„ฑ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๊ฒŒ ๋จ!!
    • → ex ) new Number(10), new String(’์•ˆ๋…•ํ•˜์„ธ์š”’)
  • ๊ธฐ๋ณธ ์ž๋ฃŒํ˜•์˜ ์ผ์‹œ์  ์Šน๊ธ‰
    • JS๋Š” ์‚ฌ์šฉ์˜ ํŽธ๋ฆฌ์„ฑ์„ ์œ„ํ•ด ๊ธฐ๋ณธ ์ž๋ฃŒํ˜•์˜ ์†์„ฑ๊ณผ ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ ์ผ์‹œ์ ์œผ๋กœ ๊ธฐ๋ณธ ์ž๋ฃŒํ˜•์„ ๊ฐ์ฒด๋กœ ์Šน๊ธ‰์‹œํ‚ด
  • ํ”„๋กœํ† ํƒ€์ž…์œผ๋กœ ๋ฉ”์†Œ๋“œ ์ถ”๊ฐ€ํ•˜๊ธฐ
    • prototype : ๊ฐ์ฒด ์ „์šฉ ์˜ท → ์ด ๊ฐ์ฒด์— ์†์„ฑ๊ณผ ๋ฉ”์†Œ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ๋ชจ๋“  ๊ฐ์ฒด์—์„œ ํ•ด๋‹น ์†์„ฑ๊ณผ ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ.
  • Number ๊ฐ์ฒด
    • ์ˆซ์ž n๋ฒˆ์งธ ์ž๋ฆฟ์ˆ˜๊นŒ์ง€ ์ถœ๋ ฅํ•˜๊ธฐ: toFixed() (์†Œ์ˆ˜์  ์ดํ•˜)
  • NaN๊ณผ Infinity ํ™•์ธํ•˜๊ธฐ: isNaN(), isFinite()
    • m===NaN ์ด๋ ‡๊ฒŒ๋Š” ๋น„๊ต ๋ชปํ•จ → Number.isNaN(m) ์ด๋ ‡๊ฒŒ ๋น„๊ตํ•ด์•ผํ•จ.
  • String ๊ฐ์ฒด
    • ๋ฌธ์ž์—ด ์–‘์ชฝ ๋์˜ ๊ณต๋ฐฑ ์—†์• ๊ธฐ : trim()
    • stringA.trim() ์ด๋Ÿฐ์‹์œผ๋กœ ์“ฐ๋ฉด ๋œ๋‹ค~!
  • ๋ฌธ์ž์—ด์„ ํŠน์ • ๊ธฐํ˜ธ๋กœ ์ž๋ฅด๊ธฐ: split()
    • ๋ฌธ์ž์—ด์„ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ž˜๋ผ์„œ ๋ฐฐ์—ด์„ ๋งŒ๋“ค์–ด ๋ฆฌํ„ด
  • JSON๊ฐ์ฒด
    • ๋ฌธ์ž์—ด, ์ˆซ์ž, ๋ถˆ ์ž๋ฃŒํ˜•๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ, ๋ฌธ์ž์—ด์€ ๋ฐ˜๋“œ์‹œ ํฐ๋”ฐ์˜ดํ‘œ, ํ‚ค์—๋„ ๋ฐ˜๋“œ์‹œ ๋”ฐ์˜ดํ‘œ๋ฅผ ๋ถ™์—ฌ์•ผ ํ•จ.
    • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐ์ฒด๋ฅผ JSON ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•  ๋•Œ๋Š” JSON.stringfy() ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•จ.
    • JSON๋ฌธ์ž์—ด์„ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐ์ฒด๋กœ ์ „๊ฐœํ•  ๋•Œ๋Š” JSON.parse() ๋ฉ”์†Œ๋“œ๋ฅผ์‚ฌ์šฉํ•จ.
  • Math ๊ฐ์ฒด
    • Math.random() → 0≤x<1์˜ ๋žœ๋คํ•œ ์ˆซ์ž ์ƒ์„ฑ
  • ์ˆ˜ํ•™๊ณผ ๊ด€๋ จ๋œ ๊ธฐ๋ณธ์ ์ธ ์—ฐ์‚ฐ์„ ํ•  ๋•Œ ์‚ฌ์šฉ
  • ์™ธ๋ถ€ script ํŒŒ์ผ ์ฝ์–ด๋“ค์ด๊ธฐ
    • script ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  src ์†์„ฑ์— ์ฝ์–ด๋“ค์ผ ํŒŒ์ผ์˜ ๊ฒฝ๋กœ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๋จ

06-3 ๊ฐ์ฒด์™€ ๋ฐฐ์—ด ๊ณ ๊ธ‰

์ด ๋ถ€๋ถ„์€ ๋‚˜์ค‘์— ์ด์–ด์„œ...

3์ฃผ์ฐจ ๋‚ด์šฉ๋ถ€ํ„ฐ ๋‹ค์‹œ ์ •๋ฆฌํ•˜๋Š๋ผ ์‹œ๊ฐ„์ด ๊ฝค ๋งŽ์ด ๊ฑธ๋ ธ์ง€๋งŒ,,, ์ด๋ฒˆ์ฃผ์— ์•ˆํ•œ ๋ถ€๋ถ„๋“ค ๋‹ค ์ •๋ฆฌํ•ด์•ผ์ง€!

๊ฐ์ฒด ๊ณต๋ถ€๋ฅผ ์—ด ์‹ฌ ํžˆ ํ•˜ ์ž..........................,