Functional Programing Language - accidentlywoo/legacyVue GitHub Wiki

Functional Programing Language

  • μœ νš¨λ²”μœ„, 콜백, ν΄λ‘œμ €, arguments, 호좜

μœ νš¨λ²”μœ„

varλ₯Ό ν•¨μˆ˜ μ•ˆμ—μ„œ μ‚¬μš©ν•˜λ©΄ μ§€μ—­λ³€μˆ˜κ°€ 되고 ν•¨μˆ˜ λ°–μ—μ„œ μ‚¬μš©ν•˜λ©΄ μ „μ—­λ³€μˆ˜κ°€ λœλ‹€. μ „μ—­λ³€μˆ˜λŠ” μ™ λ§Œν•΄μ„œλŠ” 쓰지 μ•ŠλŠ” 것이 원칙이닀. μžμ‹ μ΄ λ³€μˆ˜λ‘œ μ§€μ •ν•œ 것이 λ‚˜μ€‘μ— λ‹€λ₯Έ μš©λ„λ‘œ 쓰일 μˆ˜λ„ 있기 λ•Œλ¬Έμ— 전역에닀가 λ³€μˆ˜λ₯Ό μ§€μ •ν•΄λ‘λŠ” 것은 μΆ”ν›„ μž‘μ—…μ— λ§‰λŒ€ν•œ 영ν–₯을 끼치게 λ˜λŠ” 것이닀.

μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„œλŠ” ν•¨μˆ˜ μ•ˆμ—μ„œλ§Œ μ„ μ–Έλœ var λ³€μˆ˜κ°€ μ§€μ—­λ³€μˆ˜κ°€ λœλ‹€. λ‹€λ₯Έ μ–Έμ–΄μ—μ„œλŠ” for, if λ“±μ˜ ꡬ문 μ•ˆμ—μ„œ μ„ μ–Έλœ var λ³€μˆ˜λ„ μ§€μ—­λ³€μˆ˜κ°€ λœλ‹€.

콜백

λ©”μ†Œλ“œλž€ 객체의 속성 κ°’μœΌλ‘œ 담겨진 ν•¨μˆ˜λ₯Ό μ˜λ―Έν•œλ‹€. ν•¨μˆ˜λŠ” 값이기 λ•Œλ¬Έμ— λ‹€λ₯Έ ν•¨μˆ˜μ˜ 인자둜 전달 될 μˆ˜λ„ μžˆλ‹€. 그리고 ν•¨μˆ˜μ˜ λ¦¬ν„΄κ°’μœΌλ‘œ ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•  수 μžˆλ‹€. λ‹Ήμ—°νžˆ λ°°μ—΄μ˜ κ°’μœΌλ‘œλ„ μ‚¬μš©ν•  수 μžˆλ‹€. ` function cal(mode){ var funcs = { 'plus':function(left,right){return left+right}, 'minus':function(left,right){return left-right} } return funcs[mode]; }

alert(cal('plus')(2,1)); alert(cal('minus')(2,1)); `