JavaScript ã«ã¤ãã¦ãä½ãç¹å¥ãªã®ããããã使ã£ã¦ã§ãããã¨ãä»ã®ã©ã®æè¡ã¨ä¸æãããã®ãè¦ã¦ã¿ã¾ãããã
JavaScript ã¨ã¯ï¼
JavaScript ã¯å½å âWebãã¼ã¸ãæ´»ããããâ ã«ä½ããã¾ããã
ãã®è¨èªã®ããã°ã©ã 㯠ã¹ã¯ãªãã ã¨å¼ã°ãã¾ãããããã¯HTMLã®ä¸ã«æ¸ããããã¼ã¸ãèªã¿è¾¼ã¾ããã¨èªåçã«å®è¡ããã¾ãã
ã¹ã¯ãªããã¯ãã¬ã¼ã³ããã¹ãã¨ãã¦æä¾ãããå®è¡ããã¾ãã ç¹å¥ãªæºåããå®è¡ããããã®ã³ã³ãã¤ã«ã¯å¿ è¦ããã¾ããã
ãã®ç¹ã«ããã¦ãJavaScript 㯠Java ã¨ã¯å¤§ããç°ãªãã¾ãã
JavaScript ãä½ãããã¨ã, å½åã¯å¥ã®ååãæã£ã¦ãã¾ãã: âLiveScriptâãããã彿 Java è¨èªãé常ã«äººæ°ã§ãã£ããããJava ã® âå¼â ã¨ãã¦æ°ããè¨èªãä½ç½®ã¥ããã®ãè¯ãã¨å¤æããã¾ããã ãããããã以éã®é²åã«ãããJavaScriptã¯å®å ¨ã«ç¬ç«ããè¨èªã«ãªããECMAScriptã¨å¼ã°ããç¬èªã®ä»æ§ãæã¡ã¾ãããç¾å¨ Java ã¨ã¯å ¨ãé¢ä¿ããã¾ããã
ç¾å¨ãJavaScript ã¯ãã©ã¦ã¶ã ãã§ãªãããµã¼ãä¸ã§ãå®è¡ãããã¨ãã§ãã¾ããå®éã«ã¯ JavaScript ã¨ã³ã¸ã³ ã¨å¼ã°ããããã°ã©ã ãåå¨ããããã¤ã¹ã§ããã°å®è¡ãããã¨ãã§ãã¾ãã
ãã©ã¦ã¶ã«ã¯ã¨ã³ã¸ã³ãçµã¿è¾¼ã¾ãã¦ãããâJavaScript ä»®æ³ãã·ã³â ã¨å¼ã°ããå ´åãããã¾ãã
ç°ãªãã¨ã³ã¸ã³ã¯ç°ãªã âã³ã¼ããã¼ã â ãæã£ã¦ãã¾ããä¾ãã°:
- V8 â Chrome 㨠Opera.
- SpiderMonkey â Firefox.
- â¦IEã¯ãã¼ã¸ã§ã³ã«ãã£ã¦ âTridentâ ã âChakraâ, Microsoft Edge ç¨ã® âChakraCoreâ, Safari ç¨ã® âNitroâ ã âSquirrelFishâ çã®ããã«ä»ã®ã³ã¼ããã¼ã ãããã¾ãã
ãããã®ç¨èªã¯ãã¤ã³ã¿ã¼ãããä¸ã®éçºè ã®è¨äºã§ä½¿ç¨ããã¦ãããããè¦ãã¦ããã¨è¯ãã§ãããã ãã¨ãã°ãâããæ©è½ X ãV8ã§ãµãã¼ãããã¦ããâ ã¨è¨ã£ãå ´åãããããChromeã¨Operaã§åä½ãã¾ãã
ã¨ã³ã¸ã³ã¯è¤éã§ãããåºæ¬ã¯åç´ã§ãã
- ã¨ã³ã¸ã³ (ãã©ã¦ã¶ã®å ´åã¯çµã¿è¾¼ã¾ãã¦ãã¾ã) ã¯ã¹ã¯ãªãããèªã¿(âãã¼ã¹â)ã¾ãã
- ãã®å¾ãã¹ã¯ãªãããæ©æ¢°èªã«å¤æ(âã³ã³ãã¤ã«â)ãã¾ãã
- æ©æ¢°èªãå®è¡ããã¾ããéå¸¸ã«æ©ãåä½ãã¾ãã
ã¨ã³ã¸ã³ã¯å¦çã®åã¹ãããã§æé©åãè¡ãã¾ããå®è¡æã«ã³ã³ãã¤ã«ãããã¹ã¯ãªãããè¦ã¦ããããããæµãããã¼ã¿ãåæããããåºã¥ãã¦æ©æ¢°èªãæé©åãã¾ãã æçµçã«ãã¹ã¯ãªããã¯ã¨ã¦ãéãå®è¡ããã¾ãã
ãã©ã¦ã¶å ã®JavaScriptãã§ãããã¨ã¯ï¼
ã¢ãã³ãªJavaScript㯠âå®å ¨ãªâ ããã°ã©ãã³ã°è¨èªã§ããããã¯ãã¡ã¢ãªãCPUã®ãããªä½ã¬ãã«ã®ã¢ã¯ã»ã¹ã¯æä¾ãã¾ããããªããªããå½åã¯ããããå¿ è¦ã¨ããªããã©ã¦ã¶ç¨ã«ä½æããããã®ã ããã§ãã
JavaScript ã®æ©è½ã¯ãå®è¡ãããç°å¢ã«å¤§ããä¾åãã¾ãã ä¾ãã°ãNode.js ã§ã¯ãJavaScriptãä»»æã®ãã¡ã¤ã«ãèªã¿æ¸ããããã§ããæ©è½ããµãã¼ããã¦ãã¾ãã
ãã©ã¦ã¶å ã®JavaScriptã¯ãWebãã¼ã¸ã®æä½ãã¦ã¼ã¶ãWebãµã¼ãã¨ã®ããåãã«é¢ããæ§ã ãªãã¨ãå®è¡ã§ãã¾ãã
ãã¨ãã°ããã©ã¦ã¶å ã®JavaScriptã¯æ¬¡ã®ãããªãã¨ãå¯è½ã§ã:
- æ°ããªHTMLããã¼ã¸ã«è¿½å ããããæ¢åã®ã³ã³ãã³ãã®å¤æ´ãã¹ã¿ã¤ã«ã®å¤æ´ãããã
- ã¦ã¼ã¶ã¼ã®æä½(ãã¦ã¹ã®ã¯ãªãã¯ããã¤ã³ã¿ã®åãããã¼ã®æ¼ä¸ãªã©)ã«åå¿ããã
- ãªã¢ã¼ããµã¼ãã¸ãããã¯ã¼ã¯è¶ãã®ãªã¯ã¨ã¹ããéãããã¡ã¤ã«ã®ãã¦ã³ãã¼ããã¢ãããã¼ãããã( AJAX ã COMET ã¨å¼ã°ããæè¡)ã
- ã¯ããã¼ã®åå¾ã¨è¨å®ã訪åè ã¸ã®è³ªåãã¡ãã»ã¼ã¸ã表示ããã
- ã¯ã©ã¤ã¢ã³ãå´ã§ãã¼ã¿ãè¨æ¶ãã(âãã¼ã«ã«ã¹ãã¬ã¼ã¸â)ã
ãã©ã¦ã¶å ã®JavaScriptã§åºæ¥ãªããã¨ã¯ï¼
ãã©ã¦ã¶ã§ã¯ãJavaScriptã®æ©è½ã¯ã¦ã¼ã¶ã®å®å ¨ã®ããã«å¶éããã¦ãã¾ãã ãã®ç®çã¯ãæªæã®ããWebãã¼ã¸ããã©ã¤ãã¼ããªæ å ±ã¸ã¢ã¯ã»ã¹ããããã¦ã¼ã¶ãã¼ã¿ã¸å±å®³ãå ãããã¨ãé²ããã¨ã§ãã
å¶éã®ä¾ã¨ãã¦ã次ã®ãããªãã®ãããã¾ã:
-
Webãã¼ã¸ä¸ã®JavaScriptã¯ããã¼ããã£ã¹ã¯ä¸ã®ä»»æã®ãã¡ã¤ã«ã®èªã¿æ¸ããããããã®ã³ãã¼ãããã°ã©ã ã®å®è¡ããããã¨ãã§ãã¾ãããOSã®ã·ã¹ãã æ©è½ã«ç´æ¥ã¢ã¯ã»ã¹ãããã¨ã¯ã§ãã¾ããã
ç¾ä»£ã®ãã©ã¦ã¶ã¯ããã¡ã¤ã«ãæ±ããã¨ã¯ã§ãã¾ããã¢ã¯ã»ã¹ã¯å¶éããã¦ããããã©ã¦ã¶ã¦ã£ã³ãã¦ã¸ã®ãã¡ã¤ã«ã® âããããâ ãã
<input>ã¿ã°ãçµç±ãããã¡ã¤ã«é¸æã¨è¨ã£ãã¦ã¼ã¶ã®ç¹å®ã®æä½ã®ã¿ãæä¾ãã¦ãã¾ããã«ã¡ã©/ãã¤ã¯ããã®ä»ããã¤ã¹ã¨ããåãããæ¹æ³ã¯ããã¾ãããã¦ã¼ã¶ã®æç¤ºçãªè¨±å¯ãæ±ãããã¾ãããããã£ã¦ãJavaScriptãæå¹ãªãã¼ã¸ãWebã«ã¡ã©ãå¯ãã«æå¹ã«ãããããããå©ç¨ãã¦å©ç¨è ã®å¨å²ã観å¯ããããNSA ã«æ å ±ãéä¿¡ããã¨è¨ã£ããã¨ã¯ã§ãã¾ããã
-
ç°ãªãã¿ããã¦ã£ã³ãã¦ã¯ä¸è¬çã«ãäºãã«ã¤ãã¦ç¥ãã¾ãããæã ãä¾ãã°ããã¦ã£ã³ãã¦ãJavaScriptãå©ç¨ãã¦å¥ã®ã¦ã£ã³ãã¦ãéãã±ã¼ã¹ã¯ããã¾ãããããããã®å ´åã«ããã¦ãããããã¼ã¸ããã®JavaScriptã¯ãå¥ã®ãµã¤ãï¼ç°ãªããã¡ã¤ã³ããããã³ã«ããã¼ãï¼ããã®ãã®ã§ããå ´åã¯ãã¢ã¯ã»ã¹ãããã¨ã¯ã§ãã¾ããã
ãã㯠âSame Origin Policyâ ã¨å¼ã°ãã¦ãã¾ããåé¿ããããã«ã¯ã 両æ¹ã®ãã¼ã¸ ã«ãã¼ã¿äº¤æãè¡ãããã®ç¹å¥ãªJavaScriptã³ã¼ããå«ããå¿ è¦ãããã¾ãã
ãã®å¶éãã¦ã¼ã¶ã®å®å ¨ã®ããã§ããã¦ã¼ã¶ãéãã
http://anysite.comã¨ãããµã¤ãã®ãã¼ã¸ã¯ãURLhttp://gmail.comã®å¥ã®ãã©ã¦ã¶ã®ã¿ãã«ã¢ã¯ã»ã¹ããããããæ å ±ãçããã¨ã¯ã§ãã¾ããã -
JavaScriptã¯ãããã¯ã¼ã¯ãä»ãã¦ãç¾å¨ã®ãã¼ã¸ããããµã¼ãã¨ç°¡åã«ããåããããã¨ãã§ãã¾ããããããä»ã®ãµã¤ã/ãã¡ã¤ã³ãããã¼ã¿ãåä¿¡ãããã¨ã¯å¶éããã¦ãã¾ããå¯è½ã§ããããªã¢ã¼ãå´ããã®æç¤ºçãªåæ(HTTPãããã§è¡¨ç¾)ãå¿ è¦ã«ãªãã¾ããç¹°ãè¿ãã¾ããããããã¯å®å ¨ä¸ã®å¶éã§ãã
JavaScriptããã©ã¦ã¶å¤ã§ä½¿ãããå ´åã¯ãã®ãããªå¶éã¯åå¨ãã¾ããããã¨ãã°ããµã¼ãä¸ã§ããã¾ããç¾ä»£ã®ãã©ã¦ã¶ã¯ãããæ¡å¼µãããã¢ã¯ã»ã¹æ¨©éãå¿ è¦ã¨ãããã©ã°ã¤ã³/æ¡å¼µæ©è½ãå©ç¨ãããã¨ãã§ãã¾ãã
ãªã«ãJavaScriptãç¹å¥ãªãã®ã«ãã¦ããï¼
JavaScriptã«ã¯å°ãªãã¨ã 3㤠ã®ç´ æ´ããããã¨ãããã¾ã:
- HTML/CSSã¨ã®å®å ¨ãªçµ±å
- ã·ã³ãã«ãªãã¨ã¯ã·ã³ãã«ã«
- ãã¹ã¦ã®ã¡ã¸ã£ã¼ãã©ã¦ã¶ã§ãµãã¼ãããã¦ãããããã©ã«ãã§æå¹
JavaScriptã¯ãããã3ã¤ã®ãã¨ãçµã¿åãããå¯ä¸ã®ãã©ã¦ã¶ãã¯ããã¸ã¼ã§ãã
ãããJavaScriptãã¦ãã¼ã¯ãªãã®ã«ãã¦ãã¾ããã ããããããã©ã¦ã¶ã¤ã³ã¿ã¼ãã§ã¤ã¹ã使ããããã®æãæ®åãã¦ãããã¼ã«ã¨ãªã£ã¦ãã¾ãã
ã¨ã¯è¨ããJavaScript ãå©ç¨ãã¦ãµã¼ããã¢ãã¤ã«ã¢ããªã±ã¼ã·ã§ã³ãªã©ã使ãããã¨ãã§ãã¾ãã
JavaScriptã âè¦ãâ è¨èª
JavaScriptã®æ§æã¯ããã¹ã¦ã®äººã®ãã¼ãºã«ããããã¦ãã訳ã§ã¯ããã¾ããã人ã«ãã£ã¦æ±ããæ©è½ã¯ç°ãªãã¾ãã
ããã¸ã§ã¯ããè¦ä»¶ã¯ããããç°ãªããããããã¯èªç¶ãªãã¨ã§ãã
ãã®ãããæè¿ã§ã¯æ°ããè¨èªãæ°å¤ãç»å ´ãã¦ãã¾ãããããã¯ãã©ã¦ã¶ã§å®è¡ããåã«JavaScriptã« ãã©ã³ã¹ãã¤ã« (夿)ããã¾ãã
ææ°ã®ãã¼ã«ã¯é常ã«é«éã«ãã©ã³ã¹ãã¤ã«ã§ããééçã§ããéçºè ãå¥ã®è¨èªã§ã³ã¼ãã使ãããããèªå夿ãããã¨ãã§ãã¾ãã
ããã¯ããã®ãããªè¨èªã®ä¾ã§ã:
- CoffeeScript ã¯JavaScriptã® "ã·ã³ã¿ãã¯ã¹ã·ã¥ã¬ã¼"ã§ããããçãæ§æãå°å ¥ããããç°¡æ½ã§ã¯ãªã¢ãªã³ã¼ããæ¸ããã¨ãã§ãã¾ããããã¦ããRuby éçºè ã¯å¥½ãã§ãã
- TypeScript 㯠âå³å¯ãªãã¼ã¿åæå®â ã®è¿½å ã«ç¦ç¹ããã¦ã¦ãã¾ããããã¯è¤éãªã·ã¹ãã ã®éçºã¨ãµãã¼ããç°¡ç´ åããããã§ãããã㯠Microsoftã«ããéçºããã¦ãã¾ãã
- Flow ããã¼ã¿åå®ç¾©ã追å ãã¾ããããã®æ¹æ³ã¯ç°ãªãã¾ããFacebook ã«ããéçºããã¾ããã
- Dart ã¯ãã©ã¦ã¶ä»¥å¤ã®ç°å¢ï¼ã¢ãã¤ã«ã¢ããªã®ãããªï¼ã§åä½ããç¬èªã®ã¨ã³ã¸ã³ãæã£ãã¹ã¿ã³ãã¢ãã¼ã³ãªè¨èªã§ãããJavaScript ã¸ãã©ã³ã¹ãã¤ã«ãããã¨ãã§ãã¾ããGoogleã«ãã£ã¦éçºããã¾ããã
- Brython 㯠JavaScript ã¸ã® Python ãã©ã³ã¹ãã¤ã©ã§ãJavaScript ã使ç¨ãããã¨ãªããç´ç²ãª Python ã§ã¢ããªã±ã¼ã·ã§ã³ã使ãããã¨ãã§ãã¾ãã
ä»ã«ãããã¾ãããã¡ãããä¸è¨ã®ãããªè¨èªãå©ç¨ããäºå®ã ã¨ãã¦ããå®éã«è¡ããã¦ãããã¨ãæ¬å½ã«çè§£ããããã«JavaScriptã¯ç¥ã£ã¦ããã®ãããã§ãã
ãµããª
- JavaScriptã¯å½åãã©ã¦ã¶ç¨ã®è¨èªã¨ãã¦ä½ããã¾ããããããä»ã¯ãã®ä»ã®å¤ãã®ç°å¢ã§å©ç¨ããã¦ãã¾ãã
- ç¾æç¹ã§ã¯ãJavaScriptã¯HTML/CSSã¨å®å ¨ã«çµ±åããæãåºãæ¡ç¨ããããã©ã¦ã¶è¨èªã¨ãã¦ãç¬ç«ããå°ä½ã«ãã¾ãã
- JavaScriptã« âãã©ã³ã¹ãã¤ã«â ããç¹å®ã®æ©è½ãæä¾ããå¤ãã®è¨èªãããã¾ãã JavaScriptããã¹ã¿ã¼ããå¾ãå°ãªãã¨ãç°¡åã«ã§ãç®ãéãã¦ãããã¨ããå§ããã¾ãã
ã³ã¡ã³ã
<code>ã¿ã°ã使ã£ã¦ãã ãããè¤æ°è¡ã®å ´åã¯<pre>ãã10è¡ãè¶ ããå ´åã«ã¯ãµã³ãããã¯ã¹ã使ã£ã¦ãã ãã(plnkr, JSBin, codepenâ¦)ã