๐Ÿ“ [JS ๊ณต๋ถ€๊ธฐ๋ก] 0627~0701

์ œ๋ก ยท2022๋…„ 7์›” 1์ผ
0

[JS ๊ณต๋ถ€๊ธฐ๋ก] TIL โœจ

๋ชฉ๋ก ๋ณด๊ธฐ
9/12

๋ฐฐ์—ด

  • ๋ฐฐ์—ด์ƒ์„ฑ ๋ฐฉ์‹
    1. ๋ฐฐ์—ด ๋ฆฌํ„ฐ๋Ÿด
    2. Array ์ƒ์„ฑ์ž ํ•จ์ˆ˜
    3. Array.of, Array.from ๋ฉ”์„œ๋“œ
    • Array.of() - ์ „๋‹ฌ๋œ ์ธ์ˆ˜๋ฅผ ์š”์†Œ๋กœ ๊ฐ–๋Š” ๋ฐฐ์—ด ์ƒ์„ฑ
    • Array.from - ์œ ์‚ฌ๋ฐฐ์—ด๊ฐ์ฒด, ์ดํ„ฐ๋Ÿฌ๋ธ” ๊ฐ์ฒด๋ฅผ ์ธ์ˆ˜๋กœ ๋ฐ›์•„ ๋ฐฐ์—ด๋กœ ๋ณ€ํ™˜

๋ฐฐ์—ด ๋ฉ”์„œ๋“œ

์›๋ณธ๋ฐฐ์—ด์„ ์ง์ ‘ ๋ณ€๊ฒฝํ•˜๋Š” ๋ฉ”์„œ๋“œ

  • .push() -> ์„ฑ๋Šฅ์— ๋ณ„๋กœ ์ข‹์ง€ ์•Š์Œ => length ํ”„๋กœํผํ‹ฐ๋กœ ๋ฐฐ์—ด์˜ ๋งˆ์ง€๋ง‰ ์š”์†Œ ์ถ”๊ฐ€๊ฐ€๋Šฅ(1๊ฐœ์ผ ๊ฒฝ์šฐ)
  • .pop() -> ๋งˆ์ง€๋ง‰ ์š”์†Œ ์ œ๊ฑฐ, ์ œ๊ฑฐํ•œ ์š”์†Œ ๋ฐ˜ํ™˜
    => push, pop์„ ์‚ฌ์šฉํ•˜๋ฉด ์Šคํƒ ๊ตฌ์กฐ ์‰ฝ๊ฒŒ ๊ตฌํ˜„(ํ›„์ž…์„ ์ถœ)
  • unshift() -> ๋ฐฐ์—ด์˜ ์•ž์— ์ถ”๊ฐ€ํ•˜๊ณ  length ํ”„๋กœํผํ‹ฐ ๋ฐ˜ํ™˜
  • shift() -> ๋ฐฐ์—ด์˜ ์ฒซ ๋ฒˆ์งธ ์š”์†Œ ์ œ๊ฑฐํ•˜๊ณ  ์ œ๊ฑฐํ•œ ์š”์†Œ ๋ฐ˜ํ™˜
    => push์™€ shift๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด queue ์‰ฝ๊ฒŒ ๊ตฌํ˜„ ๊ฐ€๋Šฅ(์„ ์ž…์„ ์ถœ)
  • splice() -> ๋ฐฐ์—ด ์ค‘๊ฐ„์˜ ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์ œ๊ฑฐ
    • splice(start, deleteCount, items)
      ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•˜์—ฌ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฉ”์„œ๋“œ
  • .concat() -> ๋งˆ์ง€๋ง‰ ์š”์†Œ๋กœ ์ถ”๊ฐ€ํ•œ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด ๋ฐ˜ํ™˜
  • .slice() -> ์ธ์ˆ˜๋กœ ์ „๋‹ฌ๋œ ๋ฒ”์œ„์˜ ์š”์†Œ๋“ค์„ ๋ณต์‚ฌํ•˜์—ฌ ๋ฐฐ์—ด๋กœ ๋ฐ˜ํ™˜
    • ์ธ์ˆ˜ ์—†์ด ์ƒ์š”์‹œ ์–•์€ ๋ณต์‚ฌ ๊ฐ€๋Šฅ
    • ์œ ์‚ฌ๋ฐฐ์—ด๊ฐ์ฒด๋ฅผ ๋ฐฐ์—ด๋กœ ๋ณ€ํ™˜ ๊ฐ€๋Šฅ
  • .reverse() -> ์›๋ณธ ๋ฐฐ์—ด์˜ ์ˆœ์„œ๋ฅผ ๋ฐ˜๋Œ€๋กœ ๋’ค์ง‘์Œ
  • .fill() -> ์ธ์ˆ˜๋กœ ๋ฐ›์€ ๊ฐ’์„ ๋ฐฐ์—ด์˜ ์ฒ˜์Œํ„ฐ ๋๊นŒ์ง€ ๋ฐ˜ํ™˜
  • .join() -> ์›๋ณธ ๋ฐฐ์—ด์˜ ์š”์†Œ๋ฅผ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ ํ›„, ๊ตฌ๋ถ„์ž๋กœ ์—ฐ๊ฒฐํ•œ ๋ฌธ์ž์—ด ๋ฐ˜ํ™˜
    • ์ธ์ˆ˜๋กœ ๋ฐ›๋Š” ๊ตฌ๋ถ„์ž ์ƒ๋žต์‹œ ๊ธฐ๋ณธ ๊ตฌ๋ถ„์ž๋Š” ์ฝค๋งˆ

๋ฐฐ์—ด ๊ณ ์ฐจ ํ•จ์ˆ˜

๊ณ ์ฐจํ•จ์ˆ˜ - ํ•จ์ˆ˜๋ฅผ ์ธ์ˆ˜๋กœ ์ „๋‹ฌ๋ฐ›๊ฑฐ๋‚˜ ํ•จ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜

  • ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ตœ๊ณ ! - ๋ฐ˜๋ณต๋ฌธ ์กฐ๊ฑด๋ฌธ์˜ ๋ณต์žก์„ฑ์„ ์ œ๊ฑฐํ•˜๊ณ  ๋ฐ์ดํ„ฐ ๋ถˆ๋ณ€์„ฑ ์ง€ํ–ฅ

    • sort()

      • ์œ ๋‹ˆ์ฝ”๋“œ ํฌ์ธํŠธ์˜ ์ˆœ์„œ๋ฅผ ๋”ฐ๋ฆ„! -> 10์ด 2๋ณด๋‹ค ๋น ๋ฅธ ์ˆœ์„œ
      • ์ผ์‹œ์ ์œผ๋กœ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ ํ›„ ์œ ๋‹ˆ์ฝ”๋“œ ์ˆœ์œผ๋กœ ์ •๋ ฌ
        => ๋น„๊ตํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ์ •๋ ฌ! - ๋น„๊ตํ•จ์ˆ˜๋Š” ์Œ์ˆ˜, 0, ์–‘์ˆ˜ ๋ฐ˜ํ™˜
        • ์–‘์ˆ˜ -> ์ฒซ๋ฒˆ์งธ ์ธ์ˆ˜๋ถ€ํ„ฐ, 0 -> ์ •๋ ฌX, ์Œ์ˆ˜ -> ๋‘๋ฒˆ์งธ ์ธ์ˆ˜๋ถ€ํ„ฐ
      • ๊ฐ์ฒด๋ฅผ ์š”์†Œ๋กœ ๊ฐ–๋Š” ๋ฐฐ์—ด๋„ ์ •๋ ฌ ๊ฐ€๋Šฅ!
    • forEach()

      • ๋ฐ˜๋ณต๋ฌธ์„ ์ดํ•ด ๋ฐฐ์—ด ์ˆœํšŒํ•˜๋ฉด์„œ ์ฝœ๋ฐฑ ํ•จ์ˆ˜๋ฅผ ๋ฐ›์•„ ๋ฐ˜๋ณต ํ˜ธ์ถœํ•˜์—ฌ ์ฒ˜๋ฆฌ
      • 3๊ฐœ์˜ ์ฝœ๋ฐฑํ•จ์ˆ˜ ์ธ์ˆ˜๋ฅผ ์ „๋‹ฌ 1. ์š”์†Œ๊ฐ’, 2. ์ธ๋ฑ์Šค, 3. this
      • ๋ฐฐ์—ด์˜ ์š”์†Œ ๋ชจ๋‘ ์ˆœํšŒ, ์ค‘๊ฐ„์— ์ˆœํšŒ๋ฅผ ๋ฉˆ์ถœ ์ˆ˜ ์—†์Œ
      • ์ˆœํšŒ์‹œ ํฌ์†Œ๋ฐฐ์—ด์€ ์ œ์™ธ
      • ์–ธ์ œ๋‚˜ undefined๋ฅผ ๋ฐ˜ํ™˜
    • map()

      • ๋ฐฐ์—ด์˜ ๋ชจ๋“  ์š”์†Œ ์ˆœํšŒ -> ์ฝœ๋ฐฑ ํ•จ์ˆ˜ ์‹คํ–‰ -> ์ƒˆ๋กœ์šด ๋ฐฐ์—ด ๋ฐ˜ํ™˜
      • ์š”์†Œ๊ฐ’์„ ๋‹ค๋ฅธ ๊ฐ’์œผ๋กœ ๋งคํ•‘ํ•  ๋•Œ ์“ฐ์ž„!
      • this ๊ฐ’์„ ๋”ฐ๋กœ ๋ฐ›์„ ์ˆ˜ ์žˆ์Œ ๋ณดํ†ต ํ™”์‚ดํ‘œํ•จ์ˆ˜๋กœ this ์ธ์ˆ˜ ์ „๋‹ฌ์„ ์ƒ๋žตํ•จ
    • filter()

      • ์ฝœ๋ฐฑํ•จ์ˆ˜ ๋ฐ˜ํ™˜๊ฐ’์ด true์ธ ์š”์†Œ๋งŒ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด๋กœ ๋ฐ˜ํ™˜
      • ๋ฐฐ์—ด์—์„œ ํŠน์ • ์š”์†Œ๋ฅผ ์ œ๊ฑฐํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๊ธฐ๋„ ํ•จ! -> ์ค‘๋ณต๋œ ์š”์†Œ ๋ชจ๋‘ ์ œ๊ฑฐ๋จ
      • ํŠน์ • ์š”์†Œ๋งŒ ์ œ๊ฑฐ -> indexOf๋กœ ์ธ๋ฑ์Šค ์ฐพ๊ณ  splice๋กœ ์ œ๊ฑฐ
    • reduce()

      • ์ฝœ๋ฐฑ ํ•จ์ˆ˜์˜ ๋ฐ˜ํ™˜๊ฐ’์„ ๋‹ค์Œ ์ˆœํšŒ ์‹œ ์ฒซ ๋ฒˆ์งธ ์ธ์ˆ˜๋กœ ์ „๋‹ฌํ•˜๋ฉด์„œ ๊ฒฐ๊ตญ ํ•˜๋‚˜์˜ ๊ฒฐ๊ณผ๊ฐ’ ๋ฐ˜ํ™˜
      • reduce(์ฝœ๋ฐฑํ•จ์ˆ˜(๋ˆ„์ ๊ฐ’, ์š”์†Œ๊ฐ’, ํ˜„์žฌ์ธ๋ฑ์Šค, ํ˜ธ์ถœํ•œ๋ฐฐ์—ด), ๋ˆ„์ ๊ฐ’์˜ ์ดˆ๊ธฐ๊ฐ’.)

    ์ค‘๋ณต์š”์†Œ ์ œ๊ฑฐ

    • reduce()
    • filter()
    • Set
    • some()

      • ์ฝœ๋ฐฑ ํ•จ์ˆ˜์˜ ๋ฐ˜ํ™˜๊ฐ’์ด ๋‹จ ํ•˜๋‚˜๋ผ๋„ ์ฐธ์ด๋ฉด true ๋ฐ˜ํ™˜
    • every()

      • ์ฝœ๋ฐฑ ํ•จ์ˆ˜ ๋ฐ˜ํ™˜๊ฐ’์ด ๋ชจ๋‘ ์ฐธ์ด๋ฉด true ๋ฐ˜ํ™˜
    • find()

      • ์ฝœ๋ฐฑ ํ•จ์ˆ˜ ๋ฐ˜ํ™˜๊ฐ’์ด true์ธ ์ฒซ๋ฒˆ์งธ ์š”์†Œ ๋ฐ˜ํ™˜ ์—†์œผ๋ฉด undefined
      • ๋ฐ˜ํ™˜๊ฐ’์ด ํ•ด๋‹น ์š”์†Œ์˜ ๊ฐ’ ๊ผญ ๋ฐฐ์—ด์ด ์•„๋‹˜
    • findIndex()

      • ์ฝœ๋ฐฑ ํ•จ์ˆ˜ ๋ฐ˜ํ™˜๊ฐ’์ด true์ธ ์ฒซ๋ฒˆ์งธ ์š”์†Œ ์ธ๋ฑ์Šค ๋ฐ˜ํ™˜ ์—†์œผ๋ฉด -1

28์žฅ: Number

new Number์˜ ์ธ์ˆ˜๋Š” number ๋ž˜ํผ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋จ

  • ๋ž˜ํผ๊ฐ์ฒด: ๋ฌธ์ž์—ด, ์ˆซ์ž, ๋ถˆ๋ฆฌ์–ธ ๊ฐ’์— ๋Œ€ํ•ด ๊ฐ์ฒด์ฒ˜๋Ÿผ ์ ‘๊ทผํ•˜๋ฉด ์ƒ์„ฑ๋˜๋Š” ์ž„์‹œ๊ฐ์ฒด

  • Number๋กœ ์ธ์ˆ˜์˜ ๊ฐ’์€ ์ˆซ์ž๋กœ ๊ฐ•์ œ๋ณ€ํ™˜๋˜์–ด [[NumberData]] ์Šฌ๋กฏ์— ํ• ๋‹น๋œ Number ๋ž˜ํผ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ

Number ํ”„๋กœํผํ‹ฐ

  • Number.EPSILON
    • 1๊ณผ 1๋ณด๋‹ค ํฐ ์ˆซ์ž ์ค‘์—์„œ ๊ฐ€์žฅ ์ž‘์€ ์ˆซ์ž์™€์˜ ์ฐจ์ด
    • ๋ถ€๋™์†Œ์ˆ˜์ : ์‹ค์ˆ˜๋ฅผ ์ปดํ“จํ„ฐ์ƒ์—์„œ ๊ทผ์‚ฌํ•˜์—ฌ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ์‹

๋ฉ”์„œ๋“œ

  • Number.isNaN -> ์•”๋ฌต์  ํƒ€์ž…๋ณ€ํ™˜(X)
  • .isNaN -> ์•”๋ฌต์  ํƒ€์ž…๋ณ€ํ™˜(O, ์ธ์ˆ˜๋ฅผ ์ˆซ์ž๋กœ ๋ฐ”๊ฟˆ)
  • Number.toExponential -> ์ˆซ์ž๋ฅผ ์ง€์ˆ˜ํ‘œ๊ธฐ๋ฒ•์œผ๋กœ ๋ฌธ์ž์—ด๋กœ ๋ฐ˜ํ™˜
  • ์ˆซ์ž๋’ค์— '.' ์˜ ์˜๋ฏธ
    • ๋ถ€๋™์†Œ์ˆ˜์ 
    • ์†Œ์ˆ˜ ๊ตฌ๋ถ„ ๊ธฐํ˜ธ
      => ๊ด„ํ˜ธ๋‚˜ ๊ณต๋ฐฑ ๋’ค .์„ ์ž…๋ ฅ
profile
Software Developer

0๊ฐœ์˜ ๋Œ“๊ธ€