ìê° ìì´ ë°°ì°ê¸°ë§ íë©´ ì»ë ê²ì´ ìê³ ,
ìê°ë§ íê³ ë°°ì°ì§ ìì¼ë©´ ì¤ë¥ë ë ë¨ì ë¹ ì§ ìíì´ ìë¤.
ëìë¼ ë¶ë¦¬ë ì ì¤ ì ê°ë°ìë¤ì ì ì§ë³´ì ë´ë¹ ê°ë°ì를 í¹ë íê² íë ¨íê³ ì (ìëìì ìê°í´ ë릴) ë¤ìí í¸ë²ì ì¬ì©í곤 íìµëë¤.
구루 ê¸ì ì½ë 리뷰 ì 문ê°ë¤ì í ì¤í¸ ì½ëìì ì´ë° í¸ë²ì ë°ê²¬íë©´ ë°ìê°ì±ë¥¼ ë³´ë´ê³¤ íì£ .
ì´ë¨ ëë ì´ë³´ ê°ë°ìê° ëìë³´ë¤ ë ì ê·¹ì ì¼ë¡ ëìì ì´ë° í¸ë²ì ì¬ì©í곤 í©ëë¤.
ëìê° ì¬ì©íë í¸ë²ì ì ì´í´ë³´ìê³ , ìì ì ëìì¸ì§, ì½ë 리뷰ì´ì¸ì§, ì´ë³´ ê°ë°ìì¸ì§ íë¨í´ ë³´ì기 ë°ëëë¤.
ëì ê°ì 무림 ê³ ìê° ëë ê² ê¿ì¸ ê°ë°ìë ë§ì§ë§, ê·¸ 목í를 ë¬ì±íë ê±´ ì주 ê·¹ììë¼ë ììì ëë¤.
ì½ë ì§§ê² ì°ê¸°
ê°ë¥í í ì½ë를 ì§§ê² ì¨ì, ë¹ì ì´ ì¼ë§ë ëëí ì¬ëì¸ì§ ë³´ì¬ì£¼ììì¤.
ì§ì½ì ì¸ ë¬¸ë² ì§ì ë±ì ì´ëìíë©´ ì½ë ìì í기ì ì¼ë¡ ì¤ì¼ ì ììµëë¤.
ì¡°ê±´ë¶ ì°ì°ì '?'를 ì¬ì©í ìì를 ì´í´ë´
ìë¤.
// ì¶ì²: ì주 ì ëª
í ë¼ì´ë¸ë¬ë¦¬
i = i ? i < 0 ? Math.max(0, len + i) : i : 0;
ë©ì§ì§ ìëì? ì´ë ê² ì½ë를 ìì±í´ ëì¼ë©´ ì½ë를 ì íë ë¤ë¥¸ ê°ë°ìë ì주 ì¦ê±°ì´ ìê°ì ë³´ë¼ê²ëë¤. iê° ëíë´ë ê² ëì§ íì
íëë° ê½¤ ë§ì ìê°ì ì모íê³ , ê²°êµì ëµì ì°¾ì§ ëª»í´ ë¹ì ì ì°¾ìì¬ ê²ëë¤.
ê·¸ë¼ ì´ê¹¨ë¥¼ íë² ì¼ì±ì´ë©´ì ì´ë ê² ë§í´ì£¼ì¸ì. ì½ë를 ê¸¸ê² ìì±íë ê²ë³´ë¨ ì§§ê² ìì±íë ê² ì¼ì ìíë ë¹ê²°ì´ë¼ê³ ì. ëìê° ëë ê¸¸ë¡ ìë´í´ ì¤ìë¤.
ê¸ì íëë§ ì¬ì©í기
ëë ì¨ì´ì ì´ë¦ë ìì§ë§, ì¤ì§ ëë§ì´ ì¤ì¤ë¡ë¥¼ ì ë¹ë ¤ì£¼ê³ ë§ë¬¼ì´ ì±íëë¡ ëëë¤.
ê¸ì íëë§ ì¬ì©í´ì ë³ì ì´ë¦ì ì§ììë¤. a, b, cì²ë¼ ë§ì´ì£ .
ë³ì ì´ë¦ì´ ì§§ìì§ë©´ 무림 ê³ ìê° ì²ì ê¹ì ê³³ì 몸ì ì¨ê¸°ë ê²ì²ë¼ ë³ì를 ì½ë ìì ì¨ê¸¸ ì ììµëë¤. ê·¸ ë구ë ë³ì를 ì°¾ì ì ìê² ëì£ . ì½ë ìëí°ì "ê²ì"기ë¥ë íµíì§ ììµëë¤. ì´ë µì¬ë¦¬ ë³ìê° ì ìë ê³³ì ì°¾ëë¼ë ë³ì aë bê° ë¬´ìì ì미íëì§ ì ë "í´ì"í ì ìê² ë©ëë¤.
ì, ìì¸ ìí©ì´ íë ìë¤ì. ì§ì§ ëìë¤ì "for"문ìì ë³ì i를 ì ë ì¬ì©íì§ ììµëë¤. ë¤ë¥¸ ë°ì i를 ì무 거리ë ìì´ ì¬ì©íì§ë§, ë°ë³µë¬¸ììë§í¼ì ì¬ì©íì§ ììµëë¤. ëì for 문ìì ììí xë y ê°ì ë³ì를 ì¬ì©í©ëë¤.
ë¨ë¤ì´ ì ì¬ì©íì§ ìë ë³ì를 ë°ë³µë¬¸ìì ì°ë©´ ì주 ë©ì ¸ ë³´ì
ëë¤. í¹íë ë°ë³µë¬¸ì´ í, ë íì´ì§ë¥¼ ì°¨ì§í ì ëë¡ ê¸¸ë©´ ì´ë° í¸ë²ì´ ë ë¹ì ë°íì£ (ë°ë³µë¬¸ì ê°ë¥í í ê¸¸ê² ìì±íìë ê²ë ëìê° ëë íë ¨ ì¤ íëì
ëë¤). ë¹ì ì ì½ë를 ì½ì ëêµ°ê°ê° ì¹´ì´í° ìí ì íë ë³ì i ëì xê° ì¬ì©ëìë¤ë 걸 빨리 ëì¹ì±ì§ 못íëë¡ í©ìë¤.
ì½ì´ ì¬ì©í기
íì í ê¸ì ì§ë¦¬ ë³ìë 모í¸í ë³ìëª ì ì¬ì©íì§ ëª»íê² íë ì ì½ì´ ìë¤ë©´ ì½ì´ë¥¼ ì°ë 기ì§ë¥¼ ë°ííì¸ì. ë³ìëª ì ì§§ììë¡ ì¢ì¼ëê¹ì.
ìì:
listâlst.userAgentâua.browserâbrsr.- ë±ë±â¦
모ë 걸 ì¤ì¬ì ë¹ì ì ì½ë를 ì½ì ê°ì¹ê° ìë ì§ê°ì´ ë°ì´ë ê°ë°ìë§ ì ì§ë³´ì를 ë´ë¹ í ì ìê² í´ ëììë¤.
í¬ê´ì ì¸ ëª ì¬ ì¬ì©í기
ë¤ëª¨ê° ì주 í¬ë©´ ë§ì¹ 모ìë¦¬ê° ìë ê²ì²ë¼ ë³´ì´ë©°,
í° ê·¸ë¦ì ì²ì²í ë§ë¤ì´ì§ê³ ,
ìë¦¬ê° ë무 í¬ë©´ ë¤ë¦¬ì§ ìë ê² ê°ê³ ,
ê±°ëí íìì ííê° ìë¤.
무ì¸ê°ë¥¼ ëª
ëª
í ë obj, data, value, item, elem ê°ì´ ë¤ìí ê°ë
ì í¬ê´í ì ìë ëª
ì¬ë¥¼ ì¬ì©íììì¤. í¬ê´íë ê°ë
ì´ ë§ì ëª
ì¬ì¼ìë¡ ë ì¢ìµëë¤.
-
dataë ê°ì¥ ì´ìì ì¸ ë³ìëª ì ëë¤. ê°ë¥í 모ë ê³³ìì ì´ ë³ìëª ì ì¬ì©íììì¤. ë³ìê° ì¤ì ë¡ ë´ê³ ìë ê±´ ë°ì´í°ëê¹ì.ê·¸ë°ë° ë³ìëª
dataê° ì´ë¯¸ ì ì ë ìí©ì´ë¼ë©´ ì´ë»ê² í´ì¼ í ê¹ì? ê·¸ë´ ëvalue를 ì¬ì©íë©´ ë©ëë¤. ì´ ë¨ì´ ìì ì¶ìëê° ëìì ë§ì ê°ë ì í¬í¨í ì ìê³ , ë³ìì ê°(value) ì´ ì ì¥ëë¤ë ê±´ ë³í¨ìë ì¬ì¤ì´ëê¹ì. -
str,numê°ì´ ìë£íê³¼ ì°ê´ë ë³ìëª ì ì¬ì©íì¸ì.ëì íë ¨ìì ê° ì íí ê°ë°ìë ì´ ë°©ìì ë³´ê³ ê³ ê°ë¥¼ ê°¸ì°ë± í ê²ëë¤. ì´ê² íë ¨ ë¹ë²ì´ë¼ê³ ? ë¤, ë§ìµëë¤!
ì´ë ê² ë³ìëª ì ë§ë¤ë©´ ëêµ°ê° ë¹ì ì ì½ë를 ë´¤ì ë, ì´ë¤ ê²ë ì ì¶í ì ìê² ë©ëë¤! ìì±ì ë¹ì ë§ ìë£í ì 보를 ë³´ê³ ì´ë¤ ê°ì´ ì ì¥ë ì§ ì ì¶ í ì ìì£ . ê·¸ ë구ë í´ìí ì ìë ë³ìê° ë§ë¤ì´ì¡ìµëë¤. 목í를 ë¬ì±íë¤ì!
ì¬ì¤ ìë£íì íì íë ê±´ ìì 죽 먹기ì ëë¤. ëë²ê¹ í´ì ì¬ì©íë©´ ëì£ . ê·¸ë°ë° ë³ìì ì미ë íì ì´ ì½ì§ ììµëë¤. ë³ì
strì´ënumì´ ì¤ì ì´ë¤ ì미를 ê°ì§ ë³ìì¸ì§ ì½ëë§ ë³´ê³ ë ì½ê² ì ì ììµëë¤.ë ì¬ì ì ë°°ì°ì§ ìë ì´ì ê·¸ ë구ë ë¹ì ì´ ìì±í ë³ìì ì미를 íì í ì ìê² ë©ëë¤.
-
ìë¡ì´ ë³ìëª ì´ ëë ë ì¤ë¥´ì§ ìëë¤ë©´ ì´ë»ê² í´ì¼ í ê¹ì?
data1, item2, elem5ì²ë¼ ìì ì«ì를 ë¶ì¬ì£¼ë©´ ë©ëë¤.
ì² ìê° ì ì¬í ë¨ì´ ì¬ì©í기
주ìë ¥ì´ ê¹ì ê°ë°ìë§ ëìê° ìì±í ì½ë를 ì½ì ìê²©ì´ ììµëë¤. ì´ë° ê°ë°ìë ì´ë»ê² ê°ë³í ì ììê¹ì?
ì¬ë¬ ê°ì§ ë°©ë²ì´ ìëë° ê·¸ì¤ íëë dateì dataê°ì´ ì ì¬í ì² ì를 ê°ì§ ë¨ì´ë¥¼ ì¡°í©í´ ì¬ì©íë ê²ì
ëë¤.
ê°ë¥í 모ë ê³³ìì ì´ë° ì¡°í©ì ì¬ì©í´ 주ìë ¥ì´ ë¨ì´ì§ë ê°ë°ì를 걸ë¬ë ìë¤.
ì´ë ê² ìì±í´ ëì¼ë©´ ëìì¡°ì°¨ë ìì ì´ ìì±í ì½ë를 ì½ë ë° ìê°ì´ ë§ì´ ì모ë ê²ëë¤. ì°¨ íì ë§ìë©´ì ì½ë를 ì½ì¼ë©´ ëëê¹ ë¬¸ì ë ìì ê²ëë¤.
ëìì´ ì¬ì©í기
모ë ì¼ ì¤ ê°ì¥ ì´ë ¤ì´ ì¼ì
ì´ëì´ ë°©ìì ê²ì ê³ ìì´ë¥¼ ì°¾ë ì¼ì´ë¤.
í¹í ê·¸ ë°©ì ê³ ìì´ê° ìì ëì.
ì ì¬í ë»ì ê°ì§ ë¨ì´ ì¬ë¬ ê°ë¥¼ ê°ì걸 ëª ëª íë ë° ì¬ì©í´ì ë¹ì ì íë¶í ì´íë ¥ì ìì°ì¤ì ëë¬ë´ ë´ ìë¤.
ì¤í¬ë¦°ì ë©ìì§ë¥¼ ë³´ì¬ì£¼ë(display) ëìì ìííë í¨ìë¼ë©´ ì ëì´ displayâ¦ë¥¼ ì¬ì©í´ displayMessageë¼ê³ ì´ë¦ì ì§ê³ , ì¬ì©ì ì´ë¦(user name)ì íë©´ì ë³´ì¬ì£¼ë(show) í¨ìë ì ëì´ showâ¦ë¥¼ ì¨ showNameì´ë¼ê³ ì´ë¦ ì§ì¼ë©´ ì¢ê² ì£ .
ì½ë를 ì½ë ì¬ëì´ ë©ìì§ë¥¼ ë³´ì¬ì£¼ë ê²ê³¼ ì¬ì©ì ì´ë¦ì ë³´ì¬ì£¼ë ê²ì 미ë¬í ì°¨ì´ê° ìì ê² ê°ë¤ê³ ì°©ê°íê² í´ì¼ í©ëë¤. ì¤ì ë¡ ìë¬´ë° ì°¨ì´ê° ìì§ë§ì.
ë¤ë¥¸ ëë£ ëììê²ë ì´ ë°©ë²ì ì ííë©´ í¨ê³¼ë ë ì¢ìì§ëë¤. 무ì¸ê°ë¥¼ âë³´ì¬ì£¼ë(showing)â í¨ì를 ë§ë ë¤ê³ ê°ì íì ë, Johnì´ ì ëì´ display...를 ì¬ì©íë¤ë©´, Peterë ë¤ë¥¸ ì ëì´ render..를, Annì ë ë¤ë¥¸ ì ëì´ paint...를 ì¬ì©íê²ë ë§ì´ì£ . ì½ëê° ë ë¤ì±ë¡ìì§ê³ í¥ë¯¸ë¥¼ ì ë°íë¤ì.
í´í¸ í¸ë¦ë ë¬ì±íì ¨ìµëë¤!
ì! ì¤ëí ì°¨ì´ê° ìë ë í¨ìì ê°ì ì ëì´ë¥¼ ì¬ì©íë ê²ë ì¶ì²í´ ë립ëë¤.
í린í°(printer)를 ì¬ì©íë í¨ìë printPage(page), íë©´ì 문ì(text)를 ì¶ë ¥(print)í´ ì£¼ë í¨ìë printText(text)ë¼ê³ ëª
ëª
íë©´ ëì£ .
ì ì§ë³´ì를 ë´ë¹í ì§ ì¼ë§ ì ë ê°ë°ìê° ì½ë를 ê³±ì¹ì ì ìëë¡ ì¬ë¬ ê³³ì íë ¨ ì¥ì¹ë¥¼ ë°°ì¹í´ ëìì¼ í©ëë¤. printMessageë¼ë í¨ì를 ë³´ìì ë "ì´ í¨ìë ì´ëì ë©ìì§ë¥¼ ì¶ë ¥íë 걸ê¹? í린í°ë¥¼ ì´ì©í´ ë©ìì§ë¥¼ ì¶ë ¥íë 걸ê¹? ìëë©´ ê·¸ë¥ íë©´ì ë©ìì§ë¥¼ ì¶ë ¥í´ì£¼ë 걸ê¹?"ë¼ê³ ìê°íê²ë ë§ì´ì£ . í¨ì printMessage(message)ê° ì ì°½ì ë©ìì§ë¥¼ ëì°ë ëìì ë´ë¹íë¤ë©´ íë ¨ ê°ëë ë ëìì§ ê²ëë¤.
ì´ë¦ ì¬ì¬ì©í기
무ì¸ê°ë¥¼ ë§ë¤ê¸° ììíë©´,
ê·¸ì 걸ë§ì ì´ë¦ì´ ì기ë,
ì´ë¯¸ ì´ë¦ì´ ìë¤ë©´,
ë¬´ë¦ ë©ì¶ ì¤ ììì¼ íê³ ,
ë©ì¶ ì¤ ìë©´ ìíë¡ì§ ìì ì ìë¤.
ë³ì ì ì¸ì ì ë§ íìí ê²½ì°ìë§ í©ìë¤.
ìë¡ì´ ê°ì ì ì¥í ë 기존 ë³ì를 íì©íë©´, ë³ì ì ì¸ì ìµëí í¼í ì ììµëë¤.
í¨ì를 구í ì¤ì´ë¼ë©´ ë´ë¶ ë³ì를 ì ì¸íì§ ìê³ , 매ê°ë³ììì ëì´ì¨ ê°ë§ ì¬ì©í©ìë¤.
ë³ìì íì¬ ì´ë¤ ê°ì´ ë¤ì´ê° ìëì§, ê°ì ì ëë ì´ëì¸ì§ ì½ê² íì íì§ ëª»íê² ì ì를 ë¶ë ¤ ê°ë°ìì ì§ê´ë ¥ê³¼ ìê¸°ë ¥ì ëì¬ì¤ìë¤. ì´ë¦ì ì¬ì¬ì©íë©´ ì½ë를 íì¤ íì¤ ì½ì´ê°ë©´ì ëì ê³¼ì ì ë¶ìí´ì¼ íê³ , ë¶ê¸° 모ë를 ë¤ ë°ë¼ê°ë©´ì ìí©ì ë°ë¼ ê°ì´ ì´ë»ê² ë³íë ì§ë ê´ì°°í´ì¼ íë¯ë¡ ì§ê´ë ¥ì´ ë¶ì¡±í ê°ë°ììê² ëìì´ ë©ëë¤.
í¨ìë ë°ë³µë¬¸ ì¤ê°ìì í ë¹ ê°ì ìë°í(!) ë°ê¾¸ë©´ íë ¨ ê°ë를 ì¢ ë ëì¼ ì ììµëë¤.
ìì:
function ninjaFunction(elem) {
// 매ê°ë³ìë¡ ë°ìì¨ elemì ì´ì©í ì½ë
elem = clone(elem);
// elemì ë³µì (clone)본ì ì´ì©í ì½ë
}
elem = clone(elem); ìëì ìë ì½ë를 ìì íë ê°ë°ìë ìë§ ë¹ì ì íìí¨ì ëë¼ìì ê¸ì¹ 못í ê²ëë¤. ëë²ê¹
ì¼ë¡ ì½ë를 ë©´ë°í ê²í í íììì¼ ë³¸ì¸ì´ ë³µì 본ì ì´ì©í´ ìì
íê³ ìë¤ë 걸 깨ë¬ì ì ìì¼ëê¹ì.
ë´ê³µì´ ëì ëìë ì´ë ê² ìì±ë ì½ë ììì ììë¬´ì± ì´ê¸° ë문ì, 극기 íë ¨ì´ íìí ë ì´ ë°©ë²ì ì주 ì¶ì²í©ëë¤.
ì¬ë¯¸ë¡ ì¸ëì¤ì½ì´ ì¬ì©í기
_nameì´ë __valueì²ë¼ ë³ìëª
ìì _ë __(ì¸ëì¤ì½ì´, ë°ì¤ íì)ì ë¶ì
ìë¤.
ì½ë ìì±ìë§ ì¸ëì¤ì½ì´ê° 무ìì ì미를 ìê² í´ë ì¢ê³ , ì¥ëì¼ë¡ ë¶ì´ê±°ë ì미를 ê³ì ë°ê¿ê°ë©´ì ë¶ì´ë ê±´ ë ì¢ìµëë¤.
ì´ë ê² íë©´ ì¼ê±°ìëì ëë¤. ì½ë 길ì´ê° ëì´ë ê°ë ì±ì´ ë¨ì´ì§ë í¨ê³¼ê° ìê³ , ëë£ ê°ë°ìë¤ì ì¸ëì¤ì½ì´ì ì미를 íì íëë° íì´ ë§ì´ ë¤ê² ëì£ .
ëëí ëìë¼ë©´ ì½ë í ììì ë°ì¤ íì를 몰ìì ì°ê³ , ë¤ë¥¸ ê³³ììë ì°ì§ ìë í¸ë¦ì ì°ê¸°ë í©ëë¤. ì´ë ê² íë©´ ì½ëê° ìë¬ì ì·¨ì½í´ì§ëë°, ë¤ë¥¸ ê°ë°ì를 íë ¨í기ì ì´ë§í ë°©ë²ì´ ììµëë¤.
ê³¼ì¥ íì©ì¬ ì¬ì©í기
superElement, megaFrame, niceItemì²ë¼ ê°ì²´ ìì ì ì í íì©ì¬ë¥¼ ë¶ì¬ í´ë¹ ê°ì²´ê° ì¼ë§ë ë©ì§ì§ ìë ¤ì¤ìë¤.
ì¬ëë¤ì ì무 ì미ë ìì´ ë¶ì¬ëì íì©ì¬ super.., mega.., nice.. ë±ì ë³´ê³ , "ë¶ëª
ë¬´ì¨ ìë¯¸ê° ìì ê±°ì¼"ë¼ê³ ìê°íë©° ëì ìì¬ì§ë¥¼ ì¼ê³ ì½ë를 ë¶ìíë ¤ê³ í ê²ëë¤.
ì¸ë¶ ë³ì ë®ì´ì°ê¸°
ë¹ ììì ì´ë ì ë³¼ ì ìê³ ,
ì´ë ììì ë¹ëë ê³³ì ìë 모ë ê²ì ë³¼ ì ììµëë¤.
ë³ì ì´ë¦ì ì§ëë° ê³¨ë¨¸ë¦¬ë¥¼ ì©ì´ì§ ë§ê³ , í¨ì ë´ë¶ì ì¸ë¶ì ëì¼í ì´ë¦ì ê°ì§ ë³ì를 ì ì¸í´ ì¬ì©í©ìë¤.
let user = authenticateUser();
function render() {
let user = anotherValue();
...
...í¨ì 길ì´ê° 긺...
...
... // <-- ê°ë°ìë userì ê´ë ¨ë ì´ ë¶ë¶ì ì½ë를 ìì í´ì¼ í¨
...
}
í¨ì renderê° ê¸´ ìí©ìì userì ê´ë ¨ë í¨ì íë¨ë¶ ë¡ì§ë§ ìì í´ì¼ íë ìí©ì´ë¼ê³ í´ ë´
ìë¤. ê°ë°ìë ì½ë를 ì²ìë¶í° ì½ì§ ìê³ í´ë¹ ë¡ì§ì´ ìë ë¶ë¶ë¶í° ì½ì íë¥ ì´ ëìµëë¤. ê·¸ë¼ ì²« ì¤ìì userê° ë¤ì ì ìëìë¤ë ê²ì ëì¹ê² ë©ëë¤.
í¨ì ë´ë¶ìì ë³ì user를 ë¤ì ì ìíììë ë¶êµ¬íê³ , ê°ë°ìë userê° ì¸ë¶ ë³ì(authenticateUser()ì í¸ì¶ ê²°ê³¼)ì¸ì§ ì°©ê°íë©° ìì
ì ì§íí ê²ëë¤. í¨ì ì´ ì°¸ ê¹ë¤ì. ëë²ê±°ê° ëíë íì´ë°ì
ëë¤.
ë¶ìì©ì´ ìë ì½ë ìì±í기
isReady(), checkPermission(), findTags()ê°ì í¨ìë¤ì ë¨ì íì¸ì©ì¼ë¡ ì¬ì©ëê³ ì¸ë¶ì 무ì¸ê°ë¥¼ ë°ê¾¸ì§ ììµëë¤. "ë¶ìì©"ì´ ìë í¨ìë¤ì´ì£ .
ì´ë° í¨ìì 본ë 기ë¥ì ëì´ì âì ì©íâ 기ë¥ì ëí´ì¤ìë¤.
is.., check.., find...ë±ì ì ëì¬ê° ë¶ì í¨ìê° ë¬´ì¸ê°ë¥¼ ë°ê¿ ì ìëë¡ ê¸°ë¥ì ëí´ì£¼ë©´ ëë£ë¤ìê² ëë¼ìì ì ì¬í´ì¤ ì ìì ê²ëë¤. íì¬ìì ë¹ì ì ì
ì§ë ë ëì´ì§ê² ì£ .
ììì¹ ìì 결과를 ë°ííë ê²ë í ë°©ë²ì ëë¤.
checkPermissionì´ë¼ë í¨ì를 í¸ì¶íì ë ë°í ê°ì´ trueë falseê° ìëë¼ë©´ ì¢ìµëë¤. íì¸ ì¬ë¶ì ë¤ë¥¸ ì 보를 í¨ê» ì®ì´ ë§ë ê°ì²´ë¥¼ ë°íí´ ë¹ì ì ë
ì°½ì±ì ë½ë´ì기 ë°ëëë¤.
if (checkPermission(..))ê° ì ìëíì§ ìëì§ ë¬¼ì´ë³´ë ê°ë°ììê² "문ì를 ì½ì´ë³´ì¸ì!"ë¼ê³ ëµíë©° 본 íì´ì§ë¥¼ ë³´ì¬ì£¼ì¸ì.
í¨ìì ë¤ìí ê¸°ë¥ ë£ê¸°
í° ëë ì´ìª½ì 쪽 í ê² ìì´ ì´ëìë ëì³í른ë¤.
í¨ì 기ë¥ì íì¥í©ìë¤. í¨ìê° í ì ìë ëìì í¨ì ì´ë¦ì íì ì§ì§ ë§ìë¤.
í¨ì validateEmail(email)ì ì í¨í ì´ë©ì¼ 주ìì¸ì§ íì¸í´ 주ë ê¸°ë¥ ì´ì¸ì, ì못ë ì´ë©ì¼ì ì
ë ¥íì ë ìë¬ ë©ìì§ë¥¼ ë³´ì¬ì¤ë¤ê±°ë ë©ì¼ 주ì를 ë¤ì ì
ë ¥í´ë¬ë¼ë 기ë¥ì ì¶ê°í©ìë¤.
í¨ì ì´ë¦ìì ì ì¶í ì ìì ë§í 기ë¥ì ì¶ê°í ìë¡ ë ì¢ìµëë¤. ì§ì í ëìë¼ë©´ ììë ¥ì ë°íí´ ê·¸ ë구ë ì ì ìì ë²í 기ë¥ì ì¶ê°í ì ìì ê²ëë¤.
í¨ì íëì ì¬ë¬ 기ë¥ì ì±ì¬ë£ì¼ë©´ ì½ë ì¬ì¬ì©ë ë°©ì§í ì ììµëë¤.
ì´ë¤ ê°ë°ìê° ë©ìì§ë¥¼ ë³´ì¬ì£¼ë ê¸°ë¥ ìì´, ì´ë©ì¼ 주ì ì í¨ì±ë§ íì¸íë 기ë¥ì 구íí´ì¼ íë¤ê³ í©ìë¤. ëìê° ìì±í í¨ì validateEmail(email)ì ë ê°ì§ 기ë¥ì 모ë íê³ ì기 ë문ì, ì¬ì¬ì©í ì ìë¤ë ë¶ìì¬ê° ë°ìí©ëë¤. ì¬ì¬ì© ìì²´ê° ë¶ê°ë¥í´ì§ë, ì§ë¬¸íë ì¬ëë ìë¤ë ì¥ì ì´ ì기ë¤ì.
ìì½
ì§ê¸ê¹ì§ ìê°í 모ë ë°©ë²ì íêµ¬ê° ìëëë¤. ìë ¨ë ê°ë°ìë¤ë ì´ë ê² ì½ë를 ìì±í ëê° ìì£ . ë¹ì ë³´ë¤ ê²½ë ¥ì´ ë§ì ê°ë°ìë ìì¸ë ìëëë¤.
- í¸ë² ì¤ ëª ê°ë§ ì¬ì©í´ë, ëë¼ì´ ì½ë를 ë§ë¤ ì ìê² ë©ëë¤.
- í¸ë²ì ë§ì´ ì¬ì©íë©´ ì ì§ ë³´ìíê¸°ê° íë¤ì´ì ¸ì ë¹ì ì í´ê³ í ì ìê² ë©ëë¤.
- í¸ë²ì 모ë ì¬ì©íë©´ íë°° ê°ë°ìë¤ìê² ìì²ë ìê°ì ì¬ì´ì¤ ì ììµëë¤.
ëê¸
<code>í그를, ì¬ë¬ ì¤ë¡ 구ì±ë ì½ë를 ì½ì íê³ ì¶ë¤ë©´<pre>í그를 ì´ì©íì¸ì. 10ì¤ ì´ìì ì½ëë plnkr, JSBin, codepen ë±ì ìëë°ì¤ë¥¼ ì¬ì©íì¸ì.