Skip to content

Latest commit

Β 

History

History
138 lines (131 loc) Β· 5.27 KB

22_01_26_Wed.md

File metadata and controls

138 lines (131 loc) Β· 5.27 KB

[22.01.26.Wed] - Day 09

Vanilla JS

  • String 객체
    • padStart(), padEnd()
      • λ§€κ°œλ³€μˆ˜: 자릿수, μ±„μš°κ³  싢은 것
      • padStart()λŠ” μ•žμ— μ±„μ›Œμ€Œ
      • padEnd()λŠ” λ’€λ‘œ μ±„μ›Œμ€Œ
    • charAt()
      • λ§€κ°œλ³€μˆ˜: 인덱슀
      • μΈλ±μŠ€μ— ν•΄λ‹Ήν•˜λŠ” 문자 1개만 κ°€μ Έμ˜΄
      • 싀무) κ³„μ •μ˜ μ•ž 1κΈ€μžλŠ” κΆŒν•œ 의미 (관리 체계)
        • Admin, Manager, ...
        • 맨 μ•ž 1κΈ€μž λ˜λŠ” 맨 끝 1κΈ€μž 체크할 λ•Œ 보톡 μ‚¬μš©
    • charCodeAt()
      • λ§€κ°œλ³€μˆ˜: 인덱슀
      • μœ λ‹ˆμ½”λ“œ κ°’ λ°˜ν™˜
    • split()
      • 맀우 많이 μ‚¬μš©
      • νŠΉμ • κ΅¬λΆ„μžλ₯Ό κΈ°μ€€μœΌλ‘œ λΆ„λ¦¬ν•΄μ„œ λ°°μ—΄ λ°˜ν™˜
      • 싀무) ν•΄μ‹œνƒœκ·Έ, μ‰Όν‘œ 뢄리
        • λ…„/μ›”/일 뢄리할 λ•Œ 맀우 νŽΈν•¨ (substring보닀 더 νŽΈν•¨)
    • startsWith(), endsWith()
      • λ¬Έμžμ—΄μ΄ 주어진 λ§€κ°œλ³€μˆ˜λ‘œ μ‹œμž‘/끝인지 확인
      • λΆˆλ¦¬μ–Έ κ°’ λ°˜ν™˜
      • 생각보닀 많이 μ‚¬μš©ν•¨
      • ex. url μ‹œμž‘/끝 μ£Όμ†Œ 확인, μ‚¬μš©μžκ°€ μ—…λ‘œλ“œν•œ 파일 ν˜•μ‹ 확인
  • Number 객체
    • toString()
    • toExponential()
      • μ§€μˆ˜ ν‘œκΈ°λ²•
      • λ¬Έμžμ—΄ νƒ€μž…μœΌλ‘œ λ°˜ν™˜
    • toFixed()
      • μ†Œμˆ˜μ  자릿수 λ§žμΆ”κΈ° (반올림)
      • λ¬Έμžμ—΄ νƒ€μž…μœΌλ‘œ λ°˜ν™˜
      • 싀무) κΈˆμ•‘ μ†Œμˆ˜μ  자릿수 λ§žμΆ°μ„œ 화면에 ν‘œν˜„ (ν•΄μ™Έ)
    • toPrecision()
      • μ •μˆ˜, μ†Œμˆ˜ ν•©ν•œ 자릿수
    • parseInt()
      • 문자λ₯Ό 숫자둜 λ°”κΏ”μ€Œ
      • μ†Œμˆ˜μ  μ΄ν•˜ 버림
    • parseFloat()
      • 뢀동 μ†Œμˆ˜μ  수둜 λ°”κΏˆ
    • Number.MAX_SAFE_INTEGER
      • μ•ˆμ •μ μž„
    • Number.MIN_SAFE_INTEGER
      • μ•ˆμ •μ μž„
    • Number.MAX_VALUE
    • Number.MIN_VALUE
  • Array 객체
    • toString()
      • ν•œ λ¬Έμžμ—΄λ‘œ λ§Œλ“€μ–΄μ€Œ (무쑰건 μ‰Όν‘œ λΆ™μž„)
    • join()
      • μ„œλ²„λ‘œλΆ€ν„° λ°›μ•„μ˜¨ 데이터λ₯Ό 화면에 좜λ ₯ν•  λ•Œ 많이 μ‚¬μš©
      • κ²°ν•©μ‹œν‚¬ λ•Œμ˜ 쀑간 문자 μ§€μ •ν•΄μ„œ ν•˜λ‚˜μ˜ λ¬Έμžμ—΄λ‘œ ν•©μΉ  수 있음
    • push()
      • λ°°μ—΄ 뒀에 μš”μ†Œ μΆ”κ°€
    • pop()
      • λ°°μ—΄ λ’€μ˜ μš”μ†Œ λΉΌκΈ°
    • shift()
      • λ°°μ—΄ 맨 μ•ž μš”μ†Œ λΉΌκΈ°
      • 싀무) λŒ€λŸ‰μœΌλ‘œ μ„œλ²„μ—μ„œ κ³ κ°ν•œν…Œ 문자/이메일 λ°œμ†‘
        • 이벀트 μ²˜λ¦¬ν•˜λŠ” 큐λ₯Ό ν•˜λ‚˜ λ§Œλ“¦
        • μ‚¬μš©μž μš”μ²­μ΄ λ“€μ–΄ 올 λ•Œ λ§ˆλ‹€ push둜 계속 μŒ“μ•„λ†“μŒ
        • μ•žμ—μ„œλΆ€ν„° ν•˜λ‚˜μ”© λΉΌλ©΄μ„œ 이벀트 처리
    • unshift()
      • λ°°μ—΄ 맨 μ•žμ— μš”μ†Œ λ„£κΈ°
    • splice()
      • νŠΉμ • μœ„μΉ˜μ— λ‚΄κ°€ μ›ν•˜λŠ” μš”μ†Œ μΆ”κ°€ κ°€λŠ₯
        • μΆ”κ°€μ‹œν‚¬ 인덱슀, μ‚­μ œν•˜κ³  싢은 개수, μΆ”κ°€ν•˜κ³  싢은 것
        • ex. μ—‘μ…€ ν–‰, μ—΄ 쀑간 μ‚½μž…
    • concat()
      • λ°°μ—΄ κ²°ν•©
      • μŠ€ν”„λ ˆλ“œ 문법 μ‚¬μš©ν•˜λ©΄ 더 νŽΈν•¨
    • slice()
      • μ›ν•˜λŠ” μš”μ†Œ μž˜λΌλƒ„
      • μ‹œμž‘ 인덱슀, μ’…λ£Œ 인덱슀
      • λ¬Έμžμ—΄μ˜ slice()와 동일
    • sort()
      • λ¬Έμžμ—΄ κΈ°μ€€ sort
      • λ°°μ—΄ μš”μ†Œλ“€μ„ ν•˜λ‚˜ν•˜λ‚˜ μ°¨λ‘€λŒ€λ‘œ λΉ„κ΅ν•˜λ©΄μ„œ λ°”κΏˆ
        • 음수 값이면 자리 μ•ˆλ°”κΏˆ
        • μ–‘μˆ˜ 값이면 자리 λ°”κΏˆ
      • ex. DB 데이터 μ‘°νšŒν•  λ•Œ νŠΉμ • 쑰건으둜 κ²€μƒ‰ν•΄μ„œ 화면에 뿌릴 λ•Œ 유용
      • 1μ°¨ μ •λ ¬, 2μ°¨ μ •λ ¬ λ“± 지정할 λ•ŒλŠ”?
        • if else if else 잘 μ¨μ„œ μˆœμ„œλŒ€λ‘œ μ •λ ¬μ‹œν‚€λ©΄ 됨
    • filter()
      • 콜백 ν•¨μˆ˜κ°€ true λ°˜ν™˜ν•˜λŠ” κ²ƒλ§Œ λͺ¨μ•„μ„œ μƒˆλ‘œμš΄ λ°°μ—΄λ‘œ λ°˜ν™˜
      • 맀우 많이 μ‚¬μš©
      • νŠΉμ • 쑰건에 λ§žλŠ” μš”μ†Œλ§Œ 필터링할 λ•Œ 유용
    • map()
      • μ—¬λŸ¬ 곳에 λ°˜λ³΅ν•΄μ„œ 화면에 λ°°μ—΄ 데이터 λΏŒλ €μ€„ λ•Œ 유용
      • λ°°μ—΄ μ•ˆμ˜ κΈ°μ‘΄ object 말고 μƒˆλ‘œμš΄ object λ§Œλ“€μ–΄μ„œ λ°˜ν™˜
      • μ„œλ²„μ—μ„œ λ§Žμ€ ν•„λ“œ λ‹€ 던져주면 λ„€νŠΈμ›Œν¬ νŒ¨ν‚· λΉ„μš© 증가
      • ν•˜λ‚˜ 가지고 μ—¬λŸ¬ κ³³μ—μ„œ 계속 μ‚¬μš©ν•˜λŠ” 것이 μ•„λ‹ˆλΌ
        μ„œλ²„μ—μ„œ ν΄λΌμ΄μ–ΈνŠΈλ‘œ 상황에 λ§žλŠ” ν•„μš”ν•œ object λ§Œλ“€μ–΄μ„œ 던져주면 훨씬 κ΅¬ν˜„ νŽΈν•΄μ§
    • reduce()
      • ν•© ꡬ할 λ•Œ 많이 μ‚¬μš©
  • Date 객체 (λ‚ μ§œ 닀루기 μœ„ν•¨)
    • 컴퓨터 μ‹œκ°„ κΈ°μ€€μœΌλ‘œ λ‚˜μ˜΄
    • μ •ν™•ν•œ λ‚ μ§œ ν•„μš”ν•  λ•ŒλŠ” μ„œλ²„μ—μ„œ μ‹€μ‹œκ°„ λ‚ μ§œ κ°€μ Έμ™€μ„œ 체크해야 함
    • padStart ν™œμš©ν•΄μ„œ 0 뢙이기 유용
    • getFullYear()
    • getMonth()
      • 0 ~ 11
      • 항상 + 1 ν•΄μ£ΌκΈ°
    • getDate()
    • getDay()
      • 0 ~ 6 (일 ~ ν† )
    • getHours()
    • getMinutes()
    • getSeconds()
    • getMilliseconds()
    • getTime()
      • 1970λ…„ 1μ›” 1일 κΈ°μ€€μœΌλ‘œ ν˜„μž¬ μ‹œκ°„κΉŒμ§€μ˜ 총 milliseconds
    • setFullYear(), ...
    • 싀무) ν™”λ©΄μ—μ„œ 데이터 리슀트 μ‘°νšŒν•  λ•Œ μ‹œμž‘/μ’…λ£Œ λ‚ μ§œ 지정
      • 보톡 λ‚ μ§œ μ‘°νšŒν•˜λŠ” κΈ°μ—… 업무 μ‹œμŠ€ν…œ
      • μ’…λ£Œ λ‚ μ§œλŠ” 무쑰건 였늘 λ‚ μ§œλ‘œ μžλ™ default μ„ΈνŒ…
      • 쑰회 μ‹œμž‘ λ‚ μ§œλŠ” 업무 ν™”λ©΄λ³„λ‘œ 업무 λ‹΄λ‹Ήμžμ™€ μƒμ˜ν•΄μ„œ
        일주일/2μ£Ό/ν•œ 달 μ „ λ“± κΈ°λ³Έ μ‹œμž‘ default λ‚ μ§œ μ„ΈνŒ…
      • μ‚¬μš©μžλŠ” λ°”λ‘œ 쑰회 λ²„νŠΌ λˆŒλŸ¬λ²„λ¦Ό

[Note]

  • String.prototype 치면 λ‚΄μž₯ ν•¨μˆ˜ λ‹€ λ‚˜μ˜΄
  • document에 HTML 핸듀링 ν•˜κΈ° μœ„ν•œ λͺ¨λ“  λ‚΄μž₯ ν•¨μˆ˜ 가지고 있음
  • λ¬Έμžμ—΄ κ²°ν•© λ§Žμ•„μ§ˆμˆ˜λ‘ μ„±λŠ₯에 μ•ˆμ’‹μŒ (μˆ˜μ‹­, 수백건 이상 될 λ•Œ)
    • 배열에 λ¬Έμžμ—΄ pushν•΄μ„œ λ„£λŠ” 것이 훨씬 빠름
  • λ‚΄μž₯ ν•¨μˆ˜μ˜ κΈ°λŠ₯에 μ΄ˆμ μ„ λ§žμΆ”λ©΄ μ•ˆλ˜κ³  μš©λ„λ₯Ό 생각해야 함
  • λ°°μ—΄ λ‚΄μž₯ ν•¨μˆ˜ 맀우 μ€‘μš”!!!