ì¬ë¬ë¶ì´ ì½ê³ ìë ì´ íí¸ë ì¤í íê²½ì ë 립ì ì¸ ì½ì´ ìë°ì¤í¬ë¦½í¸(core JavaScript)를 ë¤ë£¹ëë¤.
ì½ì´ ìë°ì¤í¬ë¦½í¸ë¥¼ ë¤ë£¨ê³ ì긴 íì§ë§, íìµì ìí´ì ì¤í¬ë¦½í¸ë¥¼ ì¤íí ì ìë íê²½ì´ íìí©ëë¤. 본 íí 리ì¼ì ì¨ë¼ì¸ì¼ë¡ ì ê³µë기 ë문ì ì¤ííê²½ì¼ë¡ ë¸ë¼ì°ì 를 ì¬ì©íëë¡ íê² ìµëë¤. Node.jsì ê°ì´ ë¸ë¼ì°ì ì´ì¸ì íê²½ì ì£¼ë ¥íë íìµì를 ìí´, ë¸ë¼ì°ì íì ëª
ë ¹ì´(alert ë±)ë ìµìíì¼ë¡ ì¬ì©íëë¡ íê² ìµëë¤. ì´ë° ëª
ë ¹ì´ë¥¼ íìµíë ë° ìê°ì ë³´ë´ì§ ìëë¡ ë§ì´ì£ . ë¸ë¼ì°ì íê²½ììì ìë°ì¤í¬ë¦½í¸ë ë¤ì íí¸ìì ë¤ë£¨ëë¡ íê² ìµëë¤.
먼ì , ì¹ íì´ì§ì ì¤í¬ë¦½í¸ë¥¼ ì½ì
íë ë°©ë²ì ëí´ ììë´
ìë¤. ì°¸ê³ ë¡ Node.jsì ê°ì ìë² ì¬ì´ë íê²½ìì ì¤í¬ë¦½í¸ë¥¼ ì¤ííê³ ì¶ë¤ë©´ 'node my.js'ì ê°ì ëª
ë ¹ì´ë¥¼ ì¬ì©íë©´ ë©ëë¤.
âscriptâ íê·¸
<script> í그를 ì´ì©íë©´ ìë°ì¤í¬ë¦½í¸ íë¡ê·¸ë¨ì HTML 문ì ëë¶ë¶ì ìì¹ì ì½ì
í ì ììµëë¤.
ìì:
<!DOCTYPE HTML>
<html>
<body>
<p>ì¤í¬ë¦½í¸ ì </p>
<script>
alert( 'Hello, world!' );
</script>
<p>ì¤í¬ë¦½í¸ í</p>
</body>
</html>
ì¤ë¥¸ìª½ ìì ìë âì¬ìâ ë²í¼ì ë르면 ìì ê° ì¤íë©ëë¤.
<script> íê·¸ì ìë°ì¤í¬ë¦½í¸ ì½ëê° ë¤ì´ê°ëë¤. ë¸ë¼ì°ì ë ì´ í그를 ë§ëë©´ ìì ì½ë를 ìëì¼ë¡ ì²ë¦¬í©ëë¤.
모ë ë§í¬ì
<script> íê·¸ì ëª ê°ì§ ìì±(attribute)ì´ ììµëë¤. ìì¦ì ì ì¬ì©íì§ ìì§ë§, ì¤ëë ì½ëìì ì¢
ì¢
ì´ ìì±ì ë°ê²¬í ì ììµëë¤.
typeìì±:<script type=â¦>-
HTML4ìì ì¤í¬ë¦½í¸ì
typeì ëª ìíë ê²ì´ íìììµëë¤. ë°ë¼ìtype="text/javascript"ìì±ì´ ë¶ì ì¤í¬ë¦½í¸ë¥¼ ì´ë µì§ ìê² ì°¾ì ì ìììµëë¤. ì´ì íì ëª ìê° íìê° ìëëë¤. ê²ë¤ê° 모ë HTML íì¤ìì ì´ ìì±ì ìë¯¸ê° ë°ëììµëë¤. ì´ì ì´ ìì±ì ìë°ì¤í¬ë¦½í¸ 모ëì ì¬ì©í ì ììµëë¤. 모ëì ì¬í ë´ì©ì´ê¸° ë문ì ë¤ë¥¸ íí¸ìì ë¤ì ì´ì¼ê¸°íëë¡ íê² ìµëë¤. languageìì±:<script language=â¦>-
ì´ ìì±ì íì¬ ì¬ì©íê³ ìë ì¤í¬ë¦½í¸ ì¸ì´ë¥¼ ëíë ëë¤. ì§ê¸ì ìë°ì¤í¬ë¦½í¸ê° 기본 ì¸ì´ì´ë¯ë¡ ìì±ì ìë¯¸ê° í´ìë ìí©ì ëë¤. ëë ì¬ì©í íìê° ìì´ì¡ì£ .
- ì¤í¬ë¦½í¸ ì íì ìì¹í 주ì
-
ì주 ì¤ëë ì± ê³¼ ê°ì´ëììë ë¤ìê³¼ ê°ì´
<script>íê·¸ ìì 주ìì´ ì¡´ì¬íë 걸 ë³¼ ì ììµëë¤.<script type="text/javascript"><!-- ... //--></script>모ë ìë°ì¤í¬ë¦½í¸ìì ì´ë° í¸ë¦ì ì¬ì©íì§ ììµëë¤. íê·¸ ìì ë¶ì 주ìì
<script>í그를 ì²ë¦¬íì§ ëª»íë ë¸ë¼ì°ì ê° í´ë¹ ì¤í¬ë¦½í¸ë¥¼ ì½ì§ 못íê² íë ¤ê³ ì¬ì©íìì£ . ì§ë 15ë ê° ì¶ìë ë¸ë¼ì°ì ë<script>í그를 ì²ë¦¬í ì ìì¼ë¯ë¡, ì´ë° ííì 주ìì ë³´ë©´ ì주 ì¤ëë ì½ëë¼ë ì¬ì¤ì ì ì ììµëë¤.
ì¸ë¶ ì¤í¬ë¦½í¸
ìë°ì¤í¬ë¦½í¸ ì½ëì ìì´ ë§ì ê²½ì°ì, íì¼ë¡ ìë¶íì¬ ì ì¥í ì ììµëë¤.
ì´ë ê² ë¶í´í´ ëì ê° íì¼ì src ìì±ì ì¬ì©í´ HTMLì ì½ì
í©ëë¤.
<script src="/path/to/script.js"></script>
ì¬ê¸°ì /path/to/script.jsë ì¬ì´í¸ì 루í¸ììë¶í° íì¼ì´ ìì¹í ì ë ê²½ë¡ë¥¼ ëíë
ëë¤. íì¬ íì´ì§ììì ìë ê²½ë¡ë¥¼ ì¬ì©íë ê²ë ê°ë¥í©ëë¤. ê°ì í´ë ë´ì ìë íì¼ì¸ "script.js"를 src="script.js"ë¡ ì°¸ì¡°íë ê²ì²ë¼ ë§ì´ì£ .
ë¬¼ë¡ ìëì ê°ì´ URL ì 체를 ìì±ì¼ë¡ ì¬ì©í ìë ììµëë¤.
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.js"></script>
ë³µìì ì¤í¬ë¦½í¸ë¥¼ HTMLì ì½ì íê³ ì¶ë¤ë©´ ì¤í¬ë¦½í¸ í그를 ì¬ë¬ ê° ì¬ì©íë©´ ë©ëë¤.
<script src="/js/script1.js"></script>
<script src="/js/script2.js"></script>
â¦
HTML ìì ì§ì ì¤í¬ë¦½í¸ë¥¼ ìì±íë ë°©ìì ëê° ì¤í¬ë¦½í¸ê° ì주 ê°ë¨í ëë§ ì¬ì©í©ëë¤. ì¤í¬ë¦½í¸ê° 길ì´ì§ë©´ ë³ê°ì ë¶ë¦¬ë íì¼ë¡ ë§ë¤ì´ ì ì¥íë ê²ì´ ì¢ìµëë¤.
ì¤í¬ë¦½í¸ë¥¼ ë³ëì íì¼ì ìì±íë©´ ë¸ë¼ì°ì ê° ì¤í¬ë¦½í¸ë¥¼ ë¤ì´ë°ì ìºì(cache)ì ì ì¥í기 ë문ì, ì±ë¥ìì ì´ì ì´ ììµëë¤.
ì¬ë¬ íì´ì§ìì ëì¼í ì¤í¬ë¦½í¸ë¥¼ ì¬ì©íë ê²½ì°, ë¸ë¼ì°ì ë íì´ì§ê° ë°ë ëë§ë¤ ì¤í¬ë¦½í¸ë¥¼ ìë¡ ë¤ì´ë°ì§ ìê³ ìºìë¡ë¶í° ì¤í¬ë¦½í¸ë¥¼ ê°ì ¸ì ì¬ì©í©ëë¤. ì¤í¬ë¦½í¸ íì¼ì í ë²ë§ ë¤ì´ë°ì¼ë©´ ëì£ .
ì´ë¥¼ íµí´ í¸ëí½ì´ ì ì½ëê³ ì¹ íì´ì§ì ì¤ì ìëê° ë¹¨ë¼ì§ëë¤.
src ìì±ì´ ìì¼ë©´ íê·¸ ë´ë¶ì ì½ëë 무ìë©ëë¤.<script> íê·¸ë src ìì±ê³¼ ë´ë¶ ì½ë를 ëìì ê°ì§ì§ 못í©ëë¤.
ë¤ì ì½ëë ì¤íëì§ ììµëë¤.
<script src="file.js">
alert(1); // src ìì±ì´ ì¬ì©ëìì¼ë¯ë¡ ì´ ì½ëë 무ìë©ëë¤.
</script>
ë°ë¼ì <script src="â¦">ë¡ ì¸ë¶ íì¼ì ì°ê²°í ì§ ìëë©´ <script> íê·¸ ë´ì ì½ë를 ìì±í ì§ë¥¼ ì íí´ì¼ í©ëë¤.
ìì ììë ì¤í¬ë¦½í¸ ë ê°ë¡ ë¶ë¦¬íë©´ ì ìì ì¼ë¡ ì¤íë©ëë¤.
<script src="file.js"></script>
<script>
alert(1);
</script>
ìì½
- ì¹ íì´ì§ì ìë°ì¤í¬ë¦½í¸ ì½ë를 ì¶ê°í기 ìí´
<script>í그를 ì¬ì©í©ëë¤. typeê³¼languageìì±ì íìê° ìëëë¤.- ì¸ë¶ ì¤í¬ë¦½í¸ íì¼ì
<script src="path/to/script.js"></script>ì ê°ì´ ì½ì í©ëë¤.
ë¸ë¼ì°ì íê²½ììì ì¤í¬ë¦½í¸, ì¤í¬ë¦½í¸ì ì¹ íì´ì§ì ìí¸ìì©ì ëí´ìë ë°°ì¸ ê²ì´ í¨ì¬ ë ë§ìµëë¤. íì§ë§ 본 íí 리ì¼ì ì´ íí¸ë ìë°ì¤í¬ë¦½í¸ë¼ë ì¸ì´ ìì²´ì ì´ì ì ë§ì¶ê³ ì기 ë문ì, ë¸ë¼ì°ì ììë§ ì¬ì©íë ì½ëì 주ì를 ëºê¸°ì§ ìëë¡ íê² ìµëë¤. ë¸ë¼ì°ì ë ì¨ë¼ì¸ììì í¸ë¦¬íê² ìë°ì¤í¬ë¦½í¸ë¥¼ ì¤íí ì ìê² í´ì£¼ë ìë¨ì¼ë¡ë§ ì¬ì©íëë¡ íê² ìµëë¤.
ëê¸
<code>í그를, ì¬ë¬ ì¤ë¡ 구ì±ë ì½ë를 ì½ì íê³ ì¶ë¤ë©´<pre>í그를 ì´ì©íì¸ì. 10ì¤ ì´ìì ì½ëë plnkr, JSBin, codepen ë±ì ìëë°ì¤ë¥¼ ì¬ì©íì¸ì.