TIL - 21.06.17 πŸ‘¨β€πŸ’» JS

μ„±ν›ˆΒ·2021λ…„ 6μ›” 17일
0

TIL

λͺ©λ‘ 보기
4/59
post-thumbnail

TIL - 21.06.17 πŸ‘¨β€πŸ’»

μ˜€λŠ˜μ€ 반볡문 배우고 반볡문 μ½”ν”Œλ¦ΏμœΌλ‘œ λ³΅μŠ΅ν–ˆλ‹€.

반볡문 (Loop)

λ°˜λ³΅λ¬Έμ€ μ‘°κ±΄λΆ€μ˜ 값이 falsyκ°€ λ λ•ŒκΉŒμ§€ μ½”λ“œλΈ”λ‘μ„ λ°˜λ³΅ν•œλ‹€.
λ°˜λ³΅λ¬Έμ€ 크게 while()κ³Ό for(;;)κ°€ μžˆλ‹€.

  • while() 반볡문과 for(;;) 반볡문의 μž‘λ™ μˆœμ„œλŠ” λ™μΌν•˜λ‹€.
    μ΄ˆκΈ°ν™”(#Bigin) -> 쑰건 평가(#Condition) -> λ‚΄λΆ€ μ½”λ“œ μ‹€ν–‰(#Body) -> λ‹¨μœ„ 증가(#Step)

  • 반볡문 μ•ˆμ—μ„œ λ³€μˆ˜λ₯Ό μ„ μ–Έν•˜λ©΄ κ·Έ loop μ•ˆμ—μ„œλ§Œ μœ νš¨ν•˜λ‹€.
    단 var은 반볡문 λ°–μ—μ„œ μ„ μ–Έ λ˜μ—ˆμ–΄λ„ 반볡문 λ‚΄μ—μ„œ μž¬μ„ μ–Έν•˜λ©° λ‹€λ₯Έ 값을 할당해도 μž‘λ™ν•œλ‹€.

while()

쑰건뢀 내에 쑰건문만 λ“€μ–΄κ°€λ©°, μ΄ˆκΈ°ν™”μ™€ 증감문은 λ”°λ‘œ μ μ–΄μ€˜μ•Όν•œλ‹€.
λ°˜λ³΅λ¬Έμ„ λ°˜λ³΅ν•˜λŠ” νšŸμˆ˜κ°€ μ£Όμ–΄μ‘Œμ„λ•Œ 보닀 반볡문의 쑰건이 μ£Όμ–΄μ‘Œμ„λ•Œ 주둜 μ‚¬μš©ν•œλ‹€.


#Bigin
while(#Condition){
    #Body
    #Step;
}

do {} while()

반볡문의 쑰건을 μΆ©μ‘±ν•˜μ§€ μ•Šλ”λΌλ„ λ°˜λ³΅λ¬Έμ„ ν•œλ²ˆ μ‹€ν–‰μ‹œν‚€κΈ° μ›ν• λ•Œ μ‚¬μš©.
잘 μ‚¬μš©ν•˜μ§€ μ•ŠλŠ”λ‹€.

for(;;)

쑰건뢀 λ‚΄ μ΄ˆκΈ°ν™”, 쑰건문, 증감문이 μ „λΆ€ λ“€μ–΄κ°€λ©°,
λ°˜λ³΅λ¬Έμ„ λ°˜λ³΅ν•˜λŠ” νšŸμˆ˜κ°€ 보닀 μ •ν™•ν•  λ•Œ μ‚¬μš©ν•œλ‹€.
λ‚΄λΆ€μ˜ μ΄ˆκΈ°ν™”, 증감문은 μƒλž΅κ°€λŠ₯ν•˜λ‚˜ ;(μ„Έλ―Έμ½œλ‘ )도 μƒλž΅ν•˜λ©΄ λ¬Έλ²•μ˜€λ₯˜κ°€ λ°œμƒν•˜λ‹ˆ κΌ­ μ μ–΄μ€˜μ•Όν•œλ‹€.


for(#Bigin; #Condition; #Step){
  #Body
}

continue; 와 break;

continue;κ°€ 반볡문 μ•ˆμ—μ„œ ν‰κ°€λ˜λ©΄ 평가 진행을 λ©ˆμΆ”κ³  λ‹¨μœ„ 증가 λ‹¨κ³„λ‘œ λ„˜μ–΄κ°„λ‹€.
break;κ°€ 반볡문 μ•ˆμ—μ„œ ν‰κ°€λ˜λ©΄ 반볡문이 μ’…λ£Œλœλ‹€.

  • 이쀑 λ°˜λ³΅λ¬Έμ„ μ‚¬μš©ν•  λ•Œ μ•ˆμͺ½ λ°˜λ³΅λ¬Έμ— continueλ‚˜ breakλ₯Ό μ‚¬μš©ν•˜λ©΄ μ•ˆμͺ½ λ°˜λ³΅λ¬Έμ— ν•œν•΄μ„œ continue와 breakκ°€ μž‘λ™ν•œλ‹€.

κ·Έλž˜μ„œ labeling이 ν•„μš”ν•˜λ‹€.

label

continue와 breakκ°€ μ–΄λ””κΉŒμ§€ λ‚˜κ°ˆ 것 인지 지정할 수 μžˆκ²Œν•˜λŠ” μ΄μ •ν‘œ.


labelName: // μ΅œμƒμœ„ λ°˜λ³΅λ¬Έμ— 라벨을 뢙이고
for(i = 0; i < 5; i++){
  for(j = 0; j < 5; j++){
  alert('Sunghoon wanna be a dev.')
  break labelName; // 라벨 뢙어진 μ΅œμƒμœ„ λ°˜λ³΅λ¬ΈκΉŒμ§€ 끝낸닀.
  }
}

λͺ°λΌμ„œ κ³€λž€ν–ˆλ˜ 것

μ΅œμƒμœ„μ— λΆˆλ¦¬μ–Έ νƒ€μž…μ˜ λ³€μˆ˜λ₯Ό 선언해놓고 반볡문 μ•ˆμ—μ„œ λ³€μˆ˜λ₯Ό λ‹€λ₯Έ κ°’μœΌλ‘œ λ°”κΏ€λ•Œ μžλ™μœΌλ‘œ λ³€μˆ˜κ°€ 초기 κ°’μœΌλ‘œ λŒμ•„κ°€μ§€ μ•ŠμœΌλ‹ˆ κΌ­ 유의.

GOOD πŸ˜‰

아침에 μš΄λ™λ‹€λ…€μ™”λ‹€.
κ³΅λΆ€ν•˜λ©° μ—„μ²­ μ§‘μ€‘ν–ˆλ‹€.
λΉ„μ˜€κΈ° μ „κΉŒμ§€ μ„ μ„ ν•˜μ΄ 날씨가 μ’‹μ•˜λ‹€. μžνƒκ²½λΉ„μ›κΈ°μ€€
동기 뢄이 ν—·κ°ˆλ €μ„œ DMν•˜μ‹ κ±Έ μ΄ν•΄ν•˜κ³  μ œλŒ€λ‘œ λ‹΅ν•΄λ“œλ Έλ‹€.

BAD πŸ˜₯

λ°˜λ³΅λ¬Έν•œν…Œ μ’€ μ²˜λ§žμ•„μ„œ 마음이 μ•„νŒ λ‹€.
컴퓨터적인 사고가 정말 ν•„μš”ν•˜λ‹€.
κ΅¬κΈ€λ°‹μœΌλ‘œ λ™κΈ°λΆ„μ—κ²Œ μ„€λͺ…을 쑰금 λ“€μ—ˆλŠ”λ° 사고가 λ‹€λ₯Έκ²Œ λŠκ»΄μ Έμ„œ 쑰금 κΈ°μ£½μ—ˆλ‹€.
기죽으면 μ•ˆλ˜λŠ”λ° κΈ°μ£½μ–΄μ„œ BAD

TO DO πŸ”₯

HTML, CSS 곡뢀 ν–ˆμ—ˆλ˜κ±° ν•œλ²ˆ μ­‰ 볡슡.
μƒν™œμ½”λ”©.JS 객체 λ“œλ””μ–΄

Retrospect 🧐

μ˜€λŠ˜μ€ 빨리 μΌμ–΄λ‚˜μ„œ μš΄λ™λ„ λ‹€λ…€μ™”λ‹€.
저녁에 λΉ„μ™€μ„œ μ‚°μ±… λͺ»λ‚˜κ°”μœΌλ‹ˆ 아침에 μ•ˆλ‹€λ…€μ™”μœΌλ©΄ 이틀 놀뻔..

첫 νŽ˜μ–΄λ‹˜μ΄λž‘ 였늘이 λ§ˆμ§€λ§‰μ΄μ—ˆλ‹€.
술술 ν’€λ•ŒλŠ” ν™”κΈ°μ• μ• ν–ˆλŠ”λ° κ³ λ†ˆμ˜ λ°˜λ³΅λ¬Έν•œν…Œ 쑰금 λ§žκ³ λ‚˜λ‹ˆκΉŒ μˆ™μ—°ν•œ λΆ„μœ„κΈ°λ‘œ ν—€μ–΄μ§„κ²Œ κ°€μŠ΄ μ•„ν”„λ‹€.
μ›λž˜ μ›ƒμœΌλ©° κΈ°λΆ„μ’‹κ²Œ ν—€μ–΄μ Έμ•Όν•˜λŠ”λ°..
κ·Έλž˜λ„ νŽ˜μ–΄λ‹˜μ΄λž‘ 같이 μ½”ν”Œλ¦Ών•˜λ©΄μ„œ 많이 λ°°μ› λ‹€. κ°μ‚¬ν•©λ‹ˆλ‹€ νŽ˜μ–΄λ‹˜

그리고 우리λ₯Ό 쀘팬 κ³ λ†ˆμ˜ μ†Œμˆ˜..
μ†Œμˆ˜λ₯Ό λ¬Έμžμ—΄λ‘œ λ½‘μ•„λ‚΄λŠ”κ±° μ˜€λŠ”λ° κ³ μž‘ λ³€μˆ˜ μœ„μΉ˜λ•Œλ¬Έμ— λͺ‡ μ‹œκ°„μ„ ν—€λ§€λ‹€λ‹ˆ γ…‹γ…‹γ…‹
도움을 쑰금 λ°›κΈ΄ ν–ˆμ§€λ§Œ, ν•΄κ²°ν–ˆμ„λ•Œ 카타λ₯΄μ‹œμŠ€κ°€ μ•„μ£Ό μ’‹μ•˜λ‹€.
μ΄λ ‡κ²Œ λ°°μ›Œλ‚˜κ°€λŠ” λ§›μœΌλ‘œ μ½”λ”©ν•˜λŠ”κ±° 겠지.
μ•žμœΌλ‘œλ„ μ›ƒμœΌλ©° κ³΅λΆ€ν•˜κ³  μ‹Άλ‹€ πŸ˜‡

Reference πŸ™‡

https://poiemaweb.com/
https://ko.javascript.info/

profile
μ–΄λ–»κ²Œ 이걸 ν’€μ–΄λ‚Ό 수 μžˆμ„κΉŒ

0개의 λŒ“κΈ€