πŸ‘©‍πŸ’»Programming/JavaScript

[JS] μ½”λ“œ μž‘μ„± tips

taesooya 2023. 2. 4. 19:23

https://yozm.wishket.com/magazine/detail/1836/

 

λ‚˜μœ μžλ°”μŠ€ν¬λ¦½νŠΈ μž‘μ„± μŠ΅κ΄€κ³Ό μž‘λ³„ν•˜κΈ° | μš”μ¦˜IT

λ©‹μ§„ ν”„λ‘œκ·Έλž˜λ°μ˜ μ„Έκ³„λ‘œ μ²«κ±ΈμŒμ„ λ‚΄λ””λ”œ λ•Œ, μš°λ¦¬κ°€ ν•˜λŠ” 일이 수백만 λͺ…μ˜ μ‚¬λžŒλ“€μ—κ²Œ μ–΄λ–€ 영ν–₯을 μ£ΌλŠ”μ§€ 직접 ν™•μΈν•˜κ²Œ λ©λ‹ˆλ‹€. ν”„λ‘œκ·Έλž˜λ° 덕뢄에 λ§Žμ€ μ‚¬λžŒλ“€μ˜ 일이 단지 λͺ‡ 개의 ν‚€

yozm.wishket.com

1. var λŒ€μ‹  let, constλ₯Ό μ‚¬μš©ν•  것

* λ²”μœ„κ°€ λΆ„λͺ…해짐

* μ „μ—­ 객체λ₯Ό μƒμ„±ν•˜μ§€ μ•ŠμŒ

* 동일 λ³€μˆ˜λͺ…을 λ‹€μ‹œ μ„ μ–Έν•  λ•Œ 였λ₯˜λ₯Ό ν‘œμ‹œν•¨

 

2. 주석은 λ§₯락을 μ„€λͺ…ν•΄μ•Ό ν•œλ‹€

* 의견 μ€‘λ³΅ν•˜μ§€ μ•ŠκΈ°. 무슨 일을 ν•˜λŠ”μ§€κ°€ μ•„λ‹Œ μ™œ ν•˜λŠ”μ§€ μž‘μ„±ν•˜λΌ

* ν•¨μˆ˜ / λ³€μˆ˜ / 클래슀 μ΄λ¦„μœΌλ‘œ μ„€λͺ…ν•˜λŠ” 것이 μž₯ν™©ν•œ 주석보닀 λ‚«λ‹€

* μ΅œλŒ€ν•œ 많이 μš”μ•½ν•˜κ³  문단 λ‹¨μœ„λ‘œ μž‘μ„±ν•˜μ§€ 말 것

* 주석은 μˆ˜μ •λ˜μ§€ μ•Šμ•„μ•Ό 함

 

3. ==λŒ€μ‹  ===λ₯Ό μ‚¬μš©ν•  것

* ==λŠ” 일반 ν•­λ“± μ—°μ‚°μž ===λŠ” μ™„μ „ ν•­λ“± μ—°μ‚°μž

* 일반 ν•­λ“± μ—°μ‚°μžλŠ” ν”Όμ—°μ‚°μžκ°€ μœ μ‚¬ν•œ μ—¬λΆ€λ§Œ 확인함

* μ™„μ „ ν•­λ“± μ—°μ‚°μžλŠ” ν”Όμ—°μ‚°μžμ˜ νƒ€μž…κ³Ό 값을 λ™μ‹œμ— 확인함

 

4. μ˜΅μ…”λ„ 체이닝을 μ‚¬μš©ν•  것

* ?λŠ” μ˜΅μ…”λ„ 체이닝 μ—°μ‚°μž

* ν•΄λ‹Ή 객체의 λͺ¨λ“  레퍼런슀λ₯Ό ν™•μΈν•˜μ§€ μ•Šμ•„λ„ 속성값을 확인할 수 있음

const pokemon = {
	name: 'Charmander',
	info: {
		ability: 'Blaze'
  	  }
    }
    
    console.log(pokemon?.info?.ability) // Blaze
    console.log(pokemon.info.attack) // Error
    console.log(pokemon?.info?.attack) // undefined (no error)

 

5. 맀직 λ„˜λ²„μ™€ 맀직 μŠ€νŠΈλ§μ„ μ‚¬μš©ν•  것

* 맀직 λ„˜λ²„ / 맀직 슀트링 :  μ½”λ“œμ—μ„œ 직접 μ‚¬μš©λ˜λŠ” 숫자 λ˜λŠ” λ¬Έμžμ—΄

* μƒμˆ˜μ— μ΄λŸ¬ν•œ 값을 ν• λ‹Ήν•˜λŠ” 것이 μ’‹μŒ

 

6. API 호좜 였λ₯˜μ— λŒ€ν•œ μ μ ˆν•œ 처리

* asyn/await μ•ˆμ—μ„œ try/catchλ₯Ό μ‚¬μš©ν•˜μ—¬ μ²˜λ¦¬ν•΄μ•Όν•¨

 

7. 객체λ₯Ό 단일 λ§€κ°œλ³€μˆ˜λ‘œ μ‚¬μš©ν•˜μ§€ 말 것

* κ°μ²΄μ—μ„œ μ—¬λŸ¬ 속성값이 ν•„μš”ν•œ ν•¨μˆ˜λ₯Ό μ •μ˜ν•  λ•Œ, 단일 객체보닀 μ—¬λŸ¬ 맀개 λ³€μˆ˜λ₯Ό μ‚¬μš©ν•˜λŠ” 것이 μ’‹μŒ

* ν•¨μˆ˜μ— ν•„μš”ν•œ λ§€κ°œλ³€μˆ˜λ₯Ό μ •ν™•νžˆ λͺ…μ‹œν• μˆ˜λ‘ μ½”λ“œλ₯Ό μ½λŠ” 것이 쉬움

* ν•¨μˆ˜λ₯Ό ν…ŒμŠ€νŠΈν•˜κΈ° μ‰½κ²Œ λ§Œλ“¦, μœ μ§€ 보수λ₯Ό μ‰½κ²Œ λ§Œλ“¦, κ°€λΉ„μ§€ μ½œλ ‰νŒ… ν˜Ήμ€ λΆˆν•„μš”ν•œ λ§€κ°œλ³€μˆ˜ 생성을 λ°©μ§€ν•˜μ—¬ μ„±λŠ₯이 ν–₯상 됨

 

8. μ•½μ–΄λ₯Ό μ‚¬μš©ν•  것

* λ³€μˆ˜μ˜ μœ νš¨μ„± κ²€μ‚¬μ‹œ if(!!x) {...}와 같은 μ•½μ–΄λ₯Ό μ‚¬μš©ν•  것