πŸŽ„ μ„±μž₯일지 3.2

μ±… ν–‰λ³΅ν•œ 이기주의자(웨인 닀이어)의 λ‚΄μš©μ— μžκ·Ήλ°›μ•„ μ‹œμž‘ν•˜λŠ” μ†Œλ°•ν•œ μ„±μž₯기둝

μ‚΄μ•„μžˆλŠ” 꽃과 죽은 꽃은 μ–΄λ–»κ²Œ κ΅¬λ³„ν•˜λŠ”κ°€?
μ„±μž₯ν•˜κ³  μžˆλŠ” 것이 μ‚΄μ•„ μžˆλŠ” 것이닀.
생λͺ…μ˜ μœ μΌν•œ μ¦κ±°λŠ” μ„±μž₯이닀!

🌳 ν‚€μ›Œλ“œ (1.0)
μ΅œλŒ€ν•œ κ°„λ‹¨ν•˜κ²Œ 정리, 좔후에 λ³΄λ©΄μ„œ 슀슀둜 μ„€λͺ…
πŸ‰ κ²½ν—˜ μœ„μ£Όλ‘œ (2.0)
λ‹¨μˆœ 정보λ₯Ό μ „λ‹¬ν•˜κΈ°λ³΄λ‹€ 무엇을 λ°°μ› κ³  μ–΄λ–»κ²Œ ν•΄κ²°ν–ˆλŠ”μ§€ 짧고 κ°„λ‹¨ν•˜κ²Œ μž‘μ„±
❄️ 정해진 ν…œν”Œλ¦Ώμ— λ§žμΆ°μ„œ (3.0)
ν‚€μ›Œλ“œ, κ²½ν—˜ λͺ¨λ‘ μ’‹λ‹€. λ‹€λ§Œ 맀일 μž‘μ„±ν•˜κΈ°λ‘œ 마음 λ¨Ήμ€λ§ŒνΌ ν•΅μ‹¬λ§Œ κ°„κ²°ν•˜κ²Œ 정리할 수 있게 ν…œν”Œλ¦Ώμ„ μž‘μ„±
(3.1) 230102λΆ€ν„° μ‹œμž‘λ˜λŠ” ν•™μŠ΅μ— κ΄€ν•œ λ‚΄μš© μΆ”κ°€
(3.2) 230313λΆ€ν„° 쒀더 κ²½ν—˜, 감정 μœ„μ£Όμ˜ λ‚΄μš©λ„ λ‹΄κΈ°!

πŸ”‘ 였늘의 ν‚€μ›Œλ“œ

CSS Transition 속성을 ν™œμš©ν•΄μ„œ μ• λ‹ˆλ©”μ΄μ…˜ 효과λ₯Ό λ§Œλ“œλŠ” 방법?

  • 기쀀이 λ˜λŠ” νƒœκ·Έμ— transition: targetProperty transitionTime transitionFunction transitionDelayTime의 ν˜•νƒœλ‘œ μŠ€νƒ€μΌμ„ λΆ€μ—¬ν•©λ‹ˆλ‹€.
  • κ·Έ λ‹€μŒ, μ–΄λ–€ 이벀트(hover, event handler λ“±)에 따라 targetProperty의 값을 λ³€κ²½ν•˜λŠ” μŠ€νƒ€μΌμ„ λΆ€μ—¬ν•©λ‹ˆλ‹€.
  • κ·Έ μ΄λ²€νŠΈκ°€ λ°œμƒν–ˆμ„ λ•Œ, transition을 톡해 νŠΉμ • propertyλ₯Ό κ°μ‹œν•˜μ—¬ μ• λ‹ˆλ©”μ΄μ…˜ 효과λ₯Ό 쀄 수 μžˆμŠ΅λ‹ˆλ‹€.

Event 버블링과 μΊ‘μ²˜λ§μ€ λ¬΄μ—‡μΈκ°€μš”?

μ΄λ²€νŠΈλŠ” μƒμœ„ μš”μ†Œμ—μ„œ νƒ€κ²Ÿ μš”μ†Œ, 그리고 νƒ€κ²Ÿ μš”μ†Œμ—μ„œ μƒμœ„ μš”μ†Œλ‘œ μ „λ‹¬λ©λ‹ˆλ‹€.

  • 버블링: νƒ€κ²Ÿ μš”μ†Œμ—μ„œ μƒμœ„ μš”μ†Œλ‘œ μ „λ‹¬λ˜λŠ” 단계
  • 캑처링: μƒμœ„ μš”μ†Œμ—μ„œ νƒ€κ²Ÿ μš”μ†Œλ‘œ μ „λ‹¬λ˜λŠ” 단계

이벀트 μœ„μž„ 방식을 ν™œμš©ν•  수 μžˆλŠ” μ˜ˆμ‹œ

  • 주둜 μΊ‘μ²˜λ§λ³΄λ‹¨ 버블링을 ν™œμš©ν•˜μ—¬ 이벀트 μœ„μž„ 방식을 ν™œμš©ν•©λ‹ˆλ‹€.
document.querySelector('ul').addEventListener('click', (e) => {
  // μ›ν•˜λŠ” ν•¨μˆ˜ κ΅¬ν˜„
});

μœ„μ™€ 같이 κ΅¬ν˜„ν•œ ν›„, μ½œλ°±ν•¨μˆ˜ λ‚΄λΆ€μ—μ„œ li νƒœκ·ΈμΌ λ•Œλ§Œ ν•¨μˆ˜κ°€ μ‹€ν–‰λ˜κ²Œ ν•˜λŠ” λ“±μ˜ 쑰건을 μΆ”κ°€ν•˜μ—¬ ν™œμš©ν•©λ‹ˆλ‹€.

conditional breakpoint λž€?

  • debugging을 μœ„ν•΄ breakpointλ₯Ό κ±Έ λ•Œ, μ–΄λ–€ νŠΉμ • 쑰건일 λ•Œλ§Œ breakpointλ₯Ό μ£ΌλŠ” 것을 μ˜λ―Έν•©λ‹ˆλ‹€.

css 클래슀 쀑볡을 λ°©μ§€ν•˜λŠ” 방법은?

    1. Scss와 같은 css μ „μ²˜λ¦¬κΈ°λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€. 주둜 scssμ—μ„œλŠ” &λ₯Ό 톡해 자기 μžμ‹ μ„ μ„ νƒμžλ‘œ ν‘œν˜„ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
    1. css module을 μ‚¬μš©ν•©λ‹ˆλ‹€.
  • Button.module.css와 같이 νŒŒμΌμ„ λ§Œλ“€κ³  μ»΄ν¬λ„ŒνŠΈ 파일(js, ts)μ—μ„œ import styles from '/Button.module.css'둜 κ°€μ Έμ˜΅λ‹ˆλ‹€.

  • 이후 ν•΄λ‹Ή μ»΄ν¬λ„ŒνŠΈμ˜ class에 μœ„ λ³€μˆ˜λ₯Ό ν• λ‹Ήν•©λ‹ˆλ‹€.

  • 주둜 component λ‹¨μœ„ κ°œλ°œμ—μ„œ μ‚¬μš©ν•©λ‹ˆλ‹€.

foo.apply(this)의 λ™μž‘λ°©μ‹?(fooλŠ” ν•¨μˆ˜λΌκ³  κ°€μ •)

  • foo ν•¨μˆ˜μ˜ this에 λ³€μˆ˜λ‘œ μ§€μ •λœ thisλ₯Ό bindingν•˜μ—¬ ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•©λ‹ˆλ‹€.
  • 이 λ•Œ, applyλŠ” 첫번째 νŒŒλΌλ―Έν„°λŠ” bindingν•  thisλ₯Ό λ°›κ³  κ·Έ λ’€μ—λŠ” λ°°μ—΄([]) ν˜•νƒœλ‘œ λ‚˜λ¨Έμ§€ foo ν•¨μˆ˜μ˜ νŒŒλΌλ―Έν„°λ“€μ„ μ „λ‹¬ν•©λ‹ˆλ‹€.

var 와 let의 μ°¨μ΄λŠ” λ¬΄μ—‡μΈκ°€μš”?constλ₯Ό μ‚¬μš©ν• λ•ŒλŠ” μ–Έμ œμΈκ°€μš”?

  • μ„ μ–Έ 단계: λ³€μˆ˜λͺ…을 λ“±λ‘ν•˜μ—¬ μžλ°”μŠ€ν¬λ¦½νŠΈ 엔진에 λ³€μˆ˜μ˜ 쑴재λ₯Ό μ•Œλ¦°λ‹€.

  • μ΄ˆκΈ°ν™” 단계: 값을 μ €μž₯ν•˜κΈ° μœ„ν•œ λ©”λͺ¨λ¦¬ 곡간을 ν™•λ³΄ν•˜κ³  μ•”λ¬΅μ μœΌλ‘œ undefinedλ₯Ό ν• λ‹Ήν•΄ μ΄ˆκΈ°ν™”ν•œλ‹€.

  • var: λ³€μˆ˜μ˜ μ„ μ–Έκ³Ό μ΄ˆκΈ°ν™”κ°€ λ™μ‹œμ— μΌμ–΄λ‚œλ‹€. 즉, undefinedκ°€ λ¨Όμ € ν• λ‹Ήλœλ‹€. λ˜ν•œ, ν•¨μˆ˜ μŠ€μ½”ν”„μ— λŒ€ν•΄μ„œλ§Œ μŠ€μ½”ν”„λ₯Ό κ°–λŠ”λ‹€. λ³€μˆ˜μ˜ 쀑볡 선언이 κ°€λŠ₯ν•˜λ‹€.

  • let: λ³€μˆ˜μ˜ μ„ μ–Έκ³Ό μ΄ˆκΈ°ν™”κ°€ λ”°λ‘œ μΌμ–΄λ‚œλ‹€ 즉, λ³€μˆ˜ μ„ μ–Έ 전에 κ·Έ λ³€μˆ˜λ₯Ό μ‚¬μš©ν•  수 μ—†λ‹€. λͺ¨λ“  블둝 μŠ€μ½”ν”„μ— λŒ€ν•΄μ„œ μŠ€μ½”ν”„λ₯Ό κ°–λŠ”λ‹€. λ³€μˆ˜ 쀑볡 선언은 λΆˆκ°€λŠ₯ν•˜μ§€λ§Œ μž¬ν• λ‹Ήμ€ κ°€λŠ₯ν•˜λ‹€.

  • const: μ„ μ–Έκ³Ό μ΄ˆκΈ°ν™”λ₯Ό λ°˜λ“œμ‹œ λ™μ‹œμ— μΌμ–΄λ‚œλ‹€.(μΌμ–΄λ‚˜μ•Όν•œλ‹€.) ν—ˆλ‚˜ let처럼 const도 λ³€μˆ˜ μ„ μ–Έ 이전에 μ ‘κ·Όν•  수 없도둝 λŸ°νƒ€μž„ μ΄μ „μ—λŠ” μ‚¬μš©ν•  수 μ—†κ²Œ λ˜μ–΄μžˆλ‹€.

λΆ€λͺ¨ νƒœκ·Έ flex일 λ•Œ, κ°€μž₯ 끝에 μžˆλŠ” μžμ‹ λ…Έλ“œλ§Œ 였λ₯Έμͺ½μœΌλ‘œ 보내고 싢을 λ•Œ 쒋은 팁

<ul class="parent">
  <li>1</li>
  <li>2</li>
  <li>3</li>
  <li>4</li>
  <li>5</li>
</ul>
.parent {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
}

.parent li:nth-child(5) {
    margin-left: auto;
}

μœ„μ™€ 같이 λΆ€λͺ¨ νƒœκ·Έλ₯Ό flex-start둜 μ£Όκ³ , κ°€μž₯ 끝에 μžˆλŠ” μžμ‹ νƒœκ·Έμ— margin-left: autoλ₯Ό μŠ€νƒ€μΌλ§ν•˜λ©΄ λœλ‹€.

μ°Έκ³ 

πŸ“ μš”μ•½ 및 ν•˜λ£¨ 간단 회고

μƒκ°ν•œ 것보닀 λ‚΄κ°€ μ•Œκ³  μžˆλ‹€κ³  느꼈던 λ‚΄μš©λ“€ μ€‘μ—μ„œ μžŠμ–΄λ²„λ¦° 것듀듀도 κ½€ μžˆλ‹€λŠ” κ±Έ λŠκΌˆλ‹€. λͺ‡λ²ˆμ΄λ‚˜ λ°˜λ³΅ν–ˆμ–΄μ„œ λ°”λ‘œλ°”λ‘œ 기얡이 λ‚  쀄 μ•Œμ•˜λŠ”λ°, 또 그게 μ•„λ‹Œ κ±° κ°™λ‹€. λ˜ν•œ, 기쑴에 μ•Œκ³  있던 κ΅¬ν˜„ λ°©μ‹μ—μ„œ 더 λ‹€μ–‘ν•œ 방법듀이 μžˆλ‹€λŠ” 사싀도 μƒˆμ‚Ό λ‹€μ‹œ λŠλ‚„ 수 μžˆλŠ” ν•˜λ£¨μ˜€μ—ˆλ‹€.
μ»΄ν¬λ„ŒνŠΈ λ‹¨μœ„λ‘œ κ°œλ°œν•˜λŠ” 게 ν•˜λ©΄ν• μˆ˜λ‘ μ’‹λ‹€λŠ” 건 느끼고 μžˆλ‹€. μ½”λ“œ λΆ„λ¦¬λ‚˜ μž¬μ‚¬μš©μ„± 등을 따져보면 정말 쒋은 것 κ°™λ‹€. λ‹€λ§Œ, 아직 μ„€κ³„λ©΄μ—μ„œ μ–΄λ””μ„œλΆ€ν„° μ–΄λ””κΉŒμ§€λ₯Ό μ»΄ν¬λ„ŒνŠΈλ‘œ 두고 μž‘κ²Œ λ‚˜λˆ μ•Όν•˜λŠ”μ§€κ°€ μ–΄λ ΅λ‹€. 이 뢀뢄은 계속 μ»΄ν¬λ„ŒνŠΈλ₯Ό λ§Œλ“€λ‹€λ³΄λ©΄ 감이 였리라 λ―ΏλŠ”λ‹€.

였늘의 μž˜ν•œ 점

  • 기쑴에 μ•Œκ³ μžˆλ˜ λ‚΄μš©λ“€ λ‹€μ‹œ 볡슡 및 상기
  • html, css λ ˆμ΄μ•„μ›ƒ μž‘μ„ λ•Œ, λ‹€λ₯Έ λ°©λ²•μœΌλ‘œλ„ μ‹œλ„ν•΄λ³΄κ³  배우기

였늘의 μ•„μ‰¬μš΄ 점

  • μ§€κΈˆ μ„±μž₯일지λ₯Ό μ“°λŠ”λ° λ„ˆλ¬΄ 쑸리닀… 쒀더 κ°œλ°œν•˜λ‹€ 자고 싢은디…! γ