Skip to content

Latest commit

ย 

History

History
126 lines (114 loc) ยท 4.27 KB

File metadata and controls

126 lines (114 loc) ยท 4.27 KB

[22.01.27.Thu] - Day 10

Vanilla JS

  • Set ๊ฐ์ฒด / Map ๊ฐ์ฒด (ES6)

    • Set ๊ฐ์ฒด
      • ๋ฐฐ์—ด์ฒ˜๋Ÿผ ๋ฐ์ดํ„ฐ์˜ ์ง‘ํ•ฉ.
      • ์ˆœ์„œ๊ฐ€ ์—†์Œ
      • value ๊ฐ’์ด ๋ฌด์กฐ๊ฑด ์œ ์ผํ•œ ๊ฐ’๋งŒ ์œ ์ง€ (์œ ์ผํ•œ ๊ฐ’ ๋ณด์žฅ)
      • ๋ฉ”์„œ๋“œ
        • has; ๋ถˆ๋ฆฌ์–ธ ๊ฐ’ ๋ฐ˜ํ™˜ (์›ํ•˜๋Š” ์š”์†Œ ์ฐพ์„ ๋•Œ ์œ ์šฉ, ๋ฐฐ์—ด์—์„œ๋„ ํ™œ์šฉ ๊ฐ€๋Šฅ)
        • delete
        • clear
    • Map ๊ฐ์ฒด
      • key-value ์Œ
        • object์™€์˜ ์ฐจ์ด์ ?
        • object๋Š” ๋ณดํ†ต ๋™์ ์œผ๋กœ ํ™•์žฅ์‹œํ‚ค์ง€ ์•Š์Œ
          • ๊ทธ๋ƒฅ DB๋กœ๋ถ€ํ„ฐ ๊ฐ€์ ธ์˜ด
        • ๋™์ ์œผ๋กœ ๋Œ€๋Ÿ‰์œผ๋กœ ๋ญ”๊ฐ€ ํ™•์žฅ์‹œํ‚ค๊ณ  ์ค„์ผ ๋•Œ Map ๊ฐ์ฒด ์ด์šฉ
        • ํ‚ค๋กœ ๋ฌธ์ž๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ˆซ์ž, ํ•จ์ˆ˜ ๋“ฑ ์—ฌ๋Ÿฌ ํƒ€์ž… ๋„ฃ์„ ์ˆ˜ ์žˆ์Œ (๋ฌธ์ž ์‚ฌ์ด ๋„์–ด์“ฐ๊ธฐ๋„ ๊ฐ€๋Šฅ)
      • ๋ฉ”์„œ๋“œ
        • has; ํŠน์ • ํ‚ค ์žˆ๋Š”์ง€ ํ™•์ธ
        • set
        • get
        • delete
        • clear
      • ํ”„๋กœํผํ‹ฐ
        • size; ๋ฐ”๋กœ size ์•Œ๋ ค์คŒ
  • Math ๊ฐ์ฒด

    • round
      • ๋ฐ˜์˜ฌ๋ฆผ ์ฒ˜๋ฆฌ
    • ceil
      • ๋ฌด์กฐ๊ฑด ์˜ฌ๋ฆผ ์ฒ˜๋ฆฌ
      • ์‹ค๋ฌด) ๊ฒŒ์‹œํŒ ํŽ˜์ด์ง• ์ฒ˜๋ฆฌํ•  ๋•Œ ์ด ํŽ˜์ด์ง€ ์ˆ˜, ๊ณต๊ฐ„ ๋Œ€์—ฌ ์ธ์›์ˆ˜, ...
    • floor
      • ๋ฌด์กฐ๊ฑด ๋‚ด๋ฆผ ์ฒ˜๋ฆฌ
    • trunc
      • ์†Œ์ˆ˜๋ถ€ ๋ฌด์กฐ๊ฑด ๋ฒ„๋ฆผ
      • ์Œ์ˆ˜์ผ ๋•Œ floor์™€ trunc ์ฐจ์ด ๋ฐœ์ƒ
      • floor๋Š” ์Œ์ˆ˜์ผ ๋•Œ ๋‚ด๋ฆฌ์ง€๋งŒ, trunc๋Š” ์†Œ์ˆ˜์  ์ž˜๋ผ๋ƒ„
    • sign
      • ์–‘์ˆ˜์ธ์ง€ ์Œ์ˆ˜์ธ์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•จ
      • ์Œ์ˆ˜์ด๋ฉด -1 ๋ฐ˜ํ™˜, ์–‘์ˆ˜์ด๋ฉด +1 ๋ฐ˜ํ™˜, 0์ด๋ฉด 0 ๋ฐ˜ํ™˜
    • pow
      • ๊ฑฐ๋“ญ์ œ๊ณฑ
    • sqrt
      • ์ œ๊ณฑ๊ทผ
    • abs
      • ํ•ญ์ƒ ์–‘์ˆ˜๋กœ ๋ฐ˜ํ™˜
    • min
      • ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’
    • max
      • ๊ฐ€์žฅ ํฐ ๊ฐ’
    • random
      • ๋‚œ์ˆ˜ (๋ฌด์ž‘์œ„ ์ˆ˜)
      • 0.0 ์ด์ƒ 1.0 ๋ฏธ๋งŒ
  • JSON ๊ฐ์ฒด

    • JSON; ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ํ†ต์‹  ๋ฐ์ดํ„ฐ ํ˜•์‹
    • JSON ๋ฐ์ดํ„ฐ ํฌ๋งท์„ JS์—์„œ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ์ฒด
    • JavaScript Object Notation
    • ๋ฌด์กฐ๊ฑด ํ‚ค๋Š” ๋ฌธ์ž์—ด
    • ๋งŒ์•ฝ ๊ฐ’์ด ๋ฐฐ์—ด์ด๋ฉด ๋ฌธ์ž์—ด ํ˜•ํƒœ๋กœ ๋‹ค ๋ฐ”๊ฟ”์ค˜์•ผ ํ•จ
    • ๋ฉ”์„œ๋“œ
      • stringify
      • parse
  • window ๊ฐ์ฒด

    • alert; ๊ฒฝ๊ณ ์ฐฝ
    • confirm
    • prompt
    • open
      • ์ƒˆ์ฐฝ ๋„์›€
      • ex. ํ…Œ์ด๋ธ” ์ƒ์„ธ ๋ณด๊ธฐ
    • setTimeout / clearTimeout
      • ์ง€์ •๋œ ํŠน์ • ์‹œ๊ฐ„ ์ง€๋‚œ ํ›„์— ์‹คํ–‰
      • ex. ๊ด‘๊ณ , ํœด๋Œ€ํฐ ์ธ์ฆ(3๋ถ„), ...
      • ์‹ค๋ฌด) ์กฐํšŒ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋Š” ์ˆœ๊ฐ„ ๋ˆˆ๊นœ์งํ•  ์ƒˆ innerHTML DOM์— ๋ Œ๋”๋ง
        • ๋ฐ‘์— ์ฝ”๋“œ๊ฐ€ ๋จผ์ € ์‹คํ–‰๋˜์„œ null ๋ป‘ ๋‚  ์ˆ˜ ์žˆ์Œ
        • setTimeout ์ด์šฉํ•ด์„œ ์ฝ”๋“œ ์งฌ
    • setInterval / clearInterval
      • ํŠน์ • ์ฃผ๊ธฐ๋งˆ๋‹ค ๋ฐ˜๋ณต
      • ex. ์Šฌ๋ผ์ด๋“œ ํ™”๋ฉด ์ฃผ๊ธฐ ๋ฐ˜๋ณต, ๋ฐ์ดํ„ฐ ์ผ์ • ์‹œ๊ฐ„๋งˆ๋‹ค ๊ฐฑ์‹  (์ฃผ์‹์ฐจํŠธ)
  • Symbol ํƒ€์ž…

  • ๊ณ ๊ธ‰ ๋ฌธ๋ฒ•

    • this
      • ์ผ๋ฐ˜ ํ•จ์ˆ˜ ๋‚ด์—์„œ๋Š” window
      • ๊ฐ์ฒด ๋ฆฌํ„ฐ๋Ÿด ๋‚ด ๋ฉ”์„œ๋“œ์—์„œ์˜ this๋Š” ๊ฐ์ฒด ๊ทธ ์ž์ฒด
      • ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ ๋‚ด์˜ this๋Š” ์ด๋ฒคํŠธ ๋‹ฌ๋ฆฐ ํ•ด๋‹น DOM ์š”์†Œ
    • ์Šค์ฝ”ํ”„
      • ์„ ์–ธ๋œ ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ์ ‘๊ทผ์„ฑ
      • Global Scope; ํ•จ์ˆ˜ ๋ฐ–์— ์„ ์–ธ๋œ ๋ณ€์ˆ˜๋Š” ํ•จ์ˆ˜ ์•ˆ์ด๋“  ๋ฐ–์ด๋“  ๋‹ค ์ฐธ์กฐ ๊ฐ€๋Šฅ
      • Local Scope; ํ•จ์ˆ˜ ์•ˆ์— ์„ ์–ธ๋œ ๋ณ€์ˆ˜๋Š” ํ•จ์ˆ˜ ์•ˆ์—์„œ๋งŒ ์ฐธ์กฐ ๊ฐ€๋Šฅ (๋ฐ–์—์„œ๋Š” ์ฐธ์กฐ ๋ถˆ๊ฐ€)
      • ๋‹ค๋ฅธ ์Šค์ฝ”ํ”„์—์„œ๋Š” ๋™์ผํ•œ ์ด๋ฆ„์˜ ๋ณ€์ˆ˜ ์„ ์–ธ ๊ฐ€๋Šฅ
    • ๊ธฐ๋ณธ ๋งค๊ฐœ๋ณ€์ˆ˜
    • ๋‚˜๋จธ์ง€ ๋งค๊ฐœ๋ณ€์ˆ˜
      • ํŒŒ๋ผ๋ฏธํ„ฐ ๊ฐœ์ˆ˜ ์ œํ•œ X
      • ์ž๋™์œผ๋กœ ๋ฐฐ์—ด์— ๋‹ค ๋“ค์–ด๊ฐ
    • ํ™”์‚ดํ‘œ ํ•จ์ˆ˜
    • ํ…œํ”Œ๋ฆฟ ๋ฆฌํ„ฐ๋Ÿด

[Note]

  • ECMAScript (JS ํ‘œ์ค€)
  • ์ดํ„ฐ๋Ÿฌ๋ธ”; forEach ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ ๊ฐ€๋Šฅ (ex. set, map, ...)
  • ๋ฐฐ์—ด์—์„œ ์š”์†Œ ์ฐพ์„ ๋•Œ includes ๋ฉ”์„œ๋“œ๋Š” ๋‚ด๋ถ€์ ์œผ๋กœ for-loop ๋Ž
    ๋ฐฐ์—ด์„ set ๊ฐ์ฒด๋กœ ๋ฐ”๊ฟ”์„œ has ๋ฉ”์„œ๋“œ ์ด์šฉํ•˜๋Š” ๊ฒƒ์ด ํ›จ์”ฌ ๋น ๋ฆ„
  • ์œ ์ผํ•œ ์š”์†Œ ๋ชจ์„ ๋•Œ Object์˜ key๋Š” uniqueํ•˜๋‹ค๋Š” ํŠน์„ฑ ์ด์šฉํ•ด์„œ ํ™œ์šฉ ๊ฐ€๋Šฅ
  • UX ์ค‘์š”ํ•œ ๋ถ€๋ถ„ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๊ฐ€๋„๋ก ๋ฐ”๋€œ (๋ฒ„ํŠผ - ์ทจ์†Œ / ํ™•์ธ)
  • ์ฑ„ํŒ…์€ HTTP ํ†ต์‹ ์ด ์•„๋‹Œ ์†Œ์ผ“ ํ†ต์‹ ์„ ํ•จ
    • ์„œ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์–ด์„œ ์–‘๋ฐฉํ–ฅ ํ†ต์‹  ๊ฐ€๋Šฅ
    • ์›น ์†Œ์ผ“
    • ์„œ๋ฒ„์—์„œ ํŠน์ • ์ฃผ๊ธฐ๋งˆ๋‹ค ๊ณ„์† ๋ฐ์ดํ„ฐ ๋‚ด๋ ค์ค„ ์ˆ˜ ์žˆ์Œ
  • setInterval๊ณผ ์†Œ์ผ“์€ ๋งค์šฐ ํฐ ํผํฌ๋จผ์Šค ์ฐจ์ด ๋ฐœ์ƒ
    • ex. ์ฃผ์‹ ์ฐจํŠธ ์ˆ˜๋งŒ๋ช… ์ด์ƒ ๋ณด๋Š” ์ค‘
    • ์„œ๋ฒ„์—์„œ ํด๋ผ์ด์–ธํŠธ๋กœ ์ด์ฃผ๋ฉด 10000๋ฒˆ ํ†ต์‹ ๋งŒ ์ผ์–ด๋‚จ (1๋ช…๋‹น 1๋ฒˆ๋งŒ)
    • ๋งŒ์•ฝ ๊ธฐ์กด setInterval ๋ฐฉ์‹์ด๋ฉด 10000 * 2