Javascript 기초

HΒ·2023λ…„ 10μ›” 15일
0

경남 ABC Frontend

λͺ©λ‘ 보기
5/14

🧐 μžλ°”μŠ€ν¬λ¦½νŠΈ

졜초 λΈŒλΌμš°μ €μ—μ„œ μ‹€ν–‰ν•˜κΈ° μœ„ν•΄ λ§Œλ“€μ–΄μ§„ ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄
HTML, JavaScript νŒŒμΌμ„ ν•¨κ»˜ λΈŒλΌμš°μ €μ—μ„œ μ‹€ν–‰

🧐 μžλ°”μŠ€ν¬λ¦½νŠΈ μž‘μ„±ν•˜κΈ°

  • script νƒœκ·Έ 사이에 μ†ŒμŠ€ μ½”λ“œ μž‘μ„±ν•˜κΈ°
    -> μ΄λ―Έμ§€λ‚˜ ν…μŠ€νŠΈ 등을 λ‹€ ν‘œμ‹œν•œ 후에 μ‹€ν–‰ν•˜λŠ” 것이 μ’‹λ‹€
    -> /body νƒœκ·Έ 직전에 μžλ°”μŠ€ν¬λ¦½νŠΈ μ†ŒμŠ€ μ‚½μž…
  • μ™ΈλΆ€ 슀크립트 파일둜 μ—°κ²°ν•΄μ„œ μž‘μ„±ν•˜κΈ°
    -> ꢌμž₯됨!

🧐 μ›Ή λΈŒλΌμš°μ €μ—μ„œ 슀크립트λ₯Ό ν•΄μ„ν•˜λŠ” κ³Όμ •

  • html 뢄석 (νƒœκ·Έμ˜ μˆœμ„œμ™€ 포함관계 확인) -> μŠ€νƒ€μΌ 정보 뢄석 -> μžλ°”μŠ€ν¬λ¦½νŠΈ μ†ŒμŠ€ 해석 -> HTMLκ³Ό CSS 정보에 따라 화면에 ν‘œμ‹œ -> μžλ°”μŠ€ν¬λ¦½νŠΈ μ‹€ν–‰ν•΄μ„œ κ·Έ κ²°κ³Όλ₯Ό 화면에 ν‘œμ‹œ

🧐 ν‘œν˜„μ‹

ν•˜λ‚˜μ˜ κ°’μœΌλ‘œ 평가 될 수 μžˆλŠ” μ½”λ“œ

🧐 νƒ€μž…

🧐 string νƒ€μž…

  • λ°±ν‹±μœΌλ‘œ λ§Œλ“  λ¬Έμžμ—΄μ€ 쀄 λ°”κΏˆλ„ κ°€λŠ₯ν•˜λ‹€.
  • λ¬Έμžμ—΄ μ—°κ²° μ—°μ‚°μž + : λ‹€λ₯Έ νƒ€μž…κ³Ό 이어 뢙이렀고 ν•˜λ©΄ λͺ¨λ‘ λ¬Έμžμ—΄λ‘œ λ³€ν•œλ‹€.
  • length 속성 : λ¬Έμžμ—΄μ˜ 길이λ₯Ό 확인 ν•  수 μžˆλ‹€.
  • 인덱슀 : 0λΆ€ν„° μ„Όλ‹€
    -> Zero-based numbering

🧐 λ¬Έμžμ—΄ μ£Όμš” λ©”μ„œλ“œ

  • concat()
  • slice()
  • indexOf() : μ°ΎλŠ” λ¬Έμžκ°€ 2개 이상일 경우, κ°€μž₯ μ•žμ— μžˆλŠ” 문자의 인덱슀 쑰회
    ν¬ν•¨λ˜μ–΄ μžˆμ§€ μ•ŠμœΌλ©΄ -1 λ°˜ν™˜
  • includes() : λ¬Έμžμ—΄ 내에 νŠΉμ • λ¬Έμžλ‚˜ λ¬Έμžκ°€ ν¬ν•¨λ˜μ–΄ μžˆλŠ”μ§€ 확인

🧐 boolean νƒ€μž…

  • falsy κ°’
    λΆˆλ¦¬μ–Έ νƒ€μž…μ€ μ•„λ‹ˆμ§€λ§Œ, μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„œ false둜 μ—¬κ²¨μ§€λŠ” κ°’ <-> truthy κ°’
  • λŒ€ν‘œμ μΈ falsy κ°’

🧐 μ—°μ‚°μž

🧐 λΉ„κ΅μ—°μ‚°μž

  • === !== : μ—„κ²©ν•œ λ™μΉ˜ μ—°μ‚°μž
    -> λ³΄μ΄λŠ” 값이 같아도, 두 κ°’μ˜ νƒ€μž…μ΄ λ‹€λ₯΄λ©΄ falseκ°€ λœλ‹€.
  • == !== : λŠμŠ¨ν•œ λ™μΉ˜ μ—°μ‚°μž
    -> λŒ€μ²΄λ‘œ νƒ€μž…μ΄ 달라도 값이 κ°™μœΌλ©΄ true
    -> μ˜ˆμ™Έκ°€ λ§Žμ•„ ν˜„λŒ€ μ›Ή κ°œλ°œμ—μ„œλŠ” μ‚¬μš© ꢌμž₯ x

🧐 λ³€μˆ˜ μ‚¬μš©λ²•

  1. 보관함 확보 (μ„ μ–Έ)
  2. 보관함에 데이터 μ €μž₯ (ν• λ‹Ή)
  3. μ„ μ–Έκ³Ό ν• λ‹Ή λ™μ‹œμ— κ°€λŠ₯
  • 아무것도 ν• λ‹Ήν•˜μ§€ μ•Šμ€ λ³€μˆ˜ : undefinedκ°€ μžλ™μœΌλ‘œ 할당됨
    -> μ΄ˆκΈ°ν™”λΌλŠ” javascript의 λ…νŠΉν•œ νŠΉμ§•

🧐 κ°’μ˜ μž¬ν• λ‹Ή

  • let ν‚€μ›Œλ“œλ‘œ μ„ μ–Έν•œ λ³€μˆ˜μ— μƒˆλ‘œμš΄ 값을 ν• λ‹Ή κ°€λŠ₯
  • const ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•˜λ©΄ μž¬ν• λ‹Ήμ΄ κΈˆμ§€λœλ‹€.

🧐 var ν‚€μ›Œλ“œ

  • let ν‚€μ›Œλ“œμ™€ const ν‚€μ›Œλ“œκ°€ λ“±μž₯ν•˜κΈ° 이전에 μ‚¬μš©λ˜λ˜ λ³€μˆ˜ μ„ μ–Έ ν‚€μ›Œλ“œ
  • μ—¬λŸ¬ 단점이 μ‘΄μž¬ν•˜μ—¬ let ν‚€μ›Œλ“œμ™€ const ν‚€μ›Œλ“œ μ‚¬μš© ꢌμž₯
  • β­μž¬ν• λ‹Ήμ΄ ν•„μš”ν•œ λ³€μˆ˜μ—λŠ” let ν‚€μ›Œλ“œ
    μž¬ν• λ‹Ήμ΄ λΆˆν•„μš”ν•˜κ±°λ‚˜ λ³€κ²½λ˜λŠ” 것을 방지해야 ν•˜λŠ” λ³€μˆ˜λŠ” const ν‚€μ›Œλ“œ μ‚¬μš©β­

🧐 넀이밍 κ·œμΉ™

  • μ‹λ³„μžλŠ” 특수문자λ₯Ό μ œμ™Έν•œ 문자, 숫자, _,$ 포함 κ°€λŠ₯
    but 숫자둜 μ‹œμž‘ν•˜λŠ” 것은 ν—ˆμš© x
  • javascriptμ—μ„œλŠ” 일반적으둜 카멜 μΌ€μ΄μŠ€ μ‚¬μš©

🧐 ν…œν”Œλ¦Ώ λ¦¬ν„°λŸ΄

-> λ°±ν‹±(``)을 μ‚¬μš©ν•˜λŠ” 방법

  • ν…œν”Œλ¦Ώ λ¦¬ν„°λŸ΄μ€ ν°λ”°μ˜΄ν‘œ, μž‘μ€λ”°μ˜΄ν‘œλ₯Ό μ‚¬μš©ν•œ ν‘œκΈ° λ°©λ²•κ³ΌλŠ” λ‹€λ₯Έ κΈ°λŠ₯을 가지고 μžˆλ‹€.
    • 특히 λ¬Έμžμ—΄ 내뢀에 λ³€μˆ˜ μ‚½μž…ν•  수 μžˆλŠ” κΈ°λŠ₯ μ€‘μš” (${})
  • λ¬Έμžμ—΄μ΄ ν• λ‹Ήλ˜μ§€ μ•Šμ€ λ³€μˆ˜λ„ λ¬Έμžμ—΄λ‘œ μ·¨κΈ‰λœλ‹€.
  • 단어와 단어사이에 곡백을 μ‚½μž…ν•˜κΈ° μœ„ν•΄ ''λ₯Ό μ‚¬μš©ν•˜λŠ” 것보닀 ν…œν”Œλ¦Ώ λ¦¬ν„°λŸ΄μ„ μ‚¬μš©ν•˜λŠ” 것이 가독성 μΈ‘λ©΄μ—μ„œ 훨씬 우수

🧐 for문과 while 문

  • for문을 μ‚¬μš©ν•˜λŠ” 경우
    반볡 νšŸμˆ˜κ°€ 비ꡐ적 λͺ…ν™•ν•  λ•Œ
    λ°°μ—΄, λ¬Έμžμ—΄ λ‚΄λΆ€λ₯Ό μˆœνšŒν•  λ•Œ
    반볡문의 쀑첩이 ν•„μš”ν•  λ•Œ
  • while문을 μ‚¬μš©ν•˜λŠ” 경우
    반볡 νšŸμˆ˜κ°€ λͺ…ν™•ν•˜μ§€ μ•Šμ„ λ•Œ

🧐 ν•¨μˆ˜ μ„ μ–Έλ¬Έκ³Ό ν•¨μˆ˜ ν‘œν˜„μ‹

ν•¨μˆ˜ μ„ μ–Έλ¬Έ : ν•¨μˆ˜ μ„ μ–Έ ν‚€μ›Œλ“œμΈ function으둜 ν•¨μˆ˜λ₯Ό μ„ μ–Έ
ν•¨μˆ˜ ν‘œν˜„μ‹ : λ³€μˆ˜μ— ν•¨μˆ˜λ₯Ό ν• λ‹Ήν•˜μ—¬ ν•¨μˆ˜λ₯Ό ν‘œν˜„

🧐 μŠ€μ½”ν”„

λ³€μˆ˜κ°€ μœ νš¨ν•œ λ²”μœ„

🧐 μΆ”κ°€ 정리

  • ν•¨μˆ˜λ₯Ό μ •μ˜ν•  λ•Œ μ„ μ–Έν•œ λ§€κ°œλ³€μˆ˜λ³΄λ‹€ ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν• λ•Œ μ „λ‹¬ν•œ μ „λ‹¬μΈμžκ°€ λ§Žμ•„λ„ 였λ₯˜λŠ” λ°œμƒ x but 아무것도 μ „λ‹¬λ˜μ§€ μ•Šμ€ λ§€κ°œλ³€μˆ˜λŠ” undefined둜 μ΄ˆκΈ°ν™” λ˜μ–΄μžˆλ‹€.
  • slice : λ§€κ°œλ³€μˆ˜λ‘œ 0을 μž…λ ₯ν•  경우 λ¬Έμžμ—΄ 전체λ₯Ό κ·ΈλŒ€λ‘œ λ³΅μ‚¬ν•œλ‹€.
profile
λ‚˜μ•„κ°€κΈ°

0개의 λŒ“κΈ€