
åè¶æ§ãžã®é

ããã¯çŽ æŽãããåŒçšã§ãã 圌女ã¯ããã¶ã€ã³ã建ç¯ã«ã€ããŠã®äŒè©±ã§äœ¿çšãããåµé æ§ãšèŠåŸãçµã¿åããããã¹ãŠã«æ¹ãããŸããã
圌ã¯èªç©ºæ©ã®èšèšã«ã€ããŠè©±ããŸããã ããããèãã¯å®éã«ã¯ãã£ãšåºãããã§ãã ã³ã³ãã¥ãŒã¿ãŒããã°ã©ã ã«æé©ã ãšæããŸãã ç§ãã¡ã¯ä»ã®åéã«ã¯ãªãåè¶æ§ãšç¹å¥ãªé¢ä¿ãæã£ãŠããã®ã§ãç§ãã¡ãæžãããã®ã¯å®ç§ã§ãªããã°ãªãããããã§ãªããã°æ£ããåäœããŸããã ãããŠãèè ã¯ãç§ãã¡ã«å®å šæ§ãã©ã®ããã«éæãããã«ã€ããŠã®ããã€ãã®ã¢ã€ãã¢ãäžããŸã-æžç®ãéããŠã
ããã¯ããã°ã©ãã³ã°èšèªã«ãåœãŠã¯ãŸããšæããŸãã
ããã°ã©ãã³ã°èšèªã¯ããè€éã«ãªãåŸåããããŸãã ããããå®ç§ãéæãããå Žåã¯ãããããããã€ãã®ãã®ãåé€ããå¿ èŠããããŸãã ããã匷ãã®ååã§ãã ãã®ååã«ããã°ãæ©èœãããã€ãã®ã±ãŒã¹ã§æçšã§ãããä»ã®ã±ãŒã¹ã§ã¯å±éºã§ãããããè¯ããªãã·ã§ã³ãããå Žåãåžžã«æè¯ã®ãªãã·ã§ã³ã䜿çšããŸãã
ããã¯é©ãã»ã©ççŸãã声æã§ãã æè¯ã®éžæè¢ã䜿ããããªã人ãããããããŸãã ãããŠãããã¯äžã€ã®ããšã®èª€è§£ãåå ã§èµ·ãããŸãïŒèšèªã®åæ©èœã䜿çšããããšã«å¯Ÿããå ±é ¬ããããŸããã ãããžã§ã¯ãã®æåŸã«ã¯ããäºéå¹³çã䜿çšããããšããããŸããããšãããã§ãã¯ãè¡ãããŒããã©ãªãªãããŒãžã£ãŒã¯ããŸããã 誰ããããæ°ã«ããŸããã æ£åžžã«æ©èœãããšã©ãŒãå«ãŸãªãããã°ã©ã ãäœæããããã®å ±é ¬ãæ¯æãããŸãã
ãééããªãããååŒã®äžéšã«ãªã£ãã®ã¯ãã€ã§ããïŒ ããã¯åžžã«ãã®äžéšã§ããã ãããéæããããšã¯ãã£ãã«ãããŸããã å®éããšã©ãŒããªãããšãæåã®èŠä»¶ã§ããããšãå¿ããã¡ã§ãã ãããã£ãŠãåªããããã°ã©ãã³ã°èšèªããããæããŠãããã¯ãã§ãã
å人ãä»ã®èšèªã«é©çšã§ããæ°ããã¢ã€ãã¢ãæäŸããã®ã§ãã§ããã ãå€ãã®ããã°ã©ãã³ã°èšèªãåŠã¶ããšããå§ãããŸãã
æãæããŠãããèšèªã¯JavaScriptã§ãã JavaScriptã§ããã§ããªããã¹ãŠã®ãã¹ãç¯ããã®ã§ãããã«å¯ŸåŠããã®ã«å€ãã®æéããããŸããã ãããŠãç§ã¯æåãã-ææªã®ããš-æžãå§ããåã«èšèªãåŠã¶ããšãæ°ã«ããŸããã§ããã
æåŸã«ãç§ã¯èšèªãåŠã³ã圌ã¯ç§ã«æããŠãããŸããã ãããŠåœŒã¯ç§ã«æãç¶ããŠããŸãã ãã®èšèªã䜿çšããŠãJavaScriptããã°ã©ã ãèªã¿åããããããæ¹åããæ¹æ³ã説æããJSLintãšããããŒã«ãäœæããŸããã ãããŠãJSLintã¯ç§ã«ããã«å€ããæããŠãããŸããã ãã®ãã¹ãŠãããã°ã©ãã³ã°ã«å¯Ÿããç§ã®èŠæ¹ãå€ããã®ã§ãä»ãç§ã®äž»ãªç®æšã¯ããšã©ãŒãå«ãŸãªãããã°ã©ã ãäœæããããšã§ãã JSLintã¯ããããè¡ãæ¹æ³ã«ã€ããŠå€ãã®æ å ±ãæäŸããŠãããŸããã
JavaScriptãšJSLintã³ãŒãã䜿çšããç§ã®çµéšã«ã€ããŠã®æ¬ããJavaScript StrengthsããæžããŸããã 圌女ã®ããšãèããããšããããããããŸããã 圌女ã¯ä»ã§ããã¹ãã»ã©ãŒã§ããããœãããŠã§ã¢æ¬ã®åžå°æ§ãæã£ãŠããŸãã ã»ãšãã©ã®ãœãããŠã§ã¢ããã¯ã¯ããªãªãŒã¹ãããåã«å€ããªã£ãŠããããã®æ¬ã¯åŒãç¶ãé¢é£ããŠããŸãã ããã¯ãã匷ãããäŸç¶ãšããŠåŒ·ã¿ã ããã§ãã ããã¯è¯ãããšã§ãããèšèªã¯ãŸã£ããå€æŽãããŠããŸããã
åè«
çŸåšãè°è«ã¯ã匷ããã®äœ¿çšã«å察ããŠããŸãã ç§ã¯ããªãã®ããã«ããããè¿°ã¹ãããšæããŸãïŒ
- 1ã€ç®ã¯ãã è¯ãããšãšæªãããšã¯ãåãªãæèŠã®åé¡ã§ã ãã ããã¯çå®ã§ã¯ãããŸããã JSLintãµããŒãã®äžç°ãšããŠãäžçäžã®äººã
ãããšã©ãŒã¡ãã»ãŒãžãåãåããŸãã ç§ã¯æè¿ãåé¡ã解決ããããšããŠ2é±éãè²»ãããäŒç€ŸããæçŽãåãåããŸããã 1ã€ã®å Žæã§ãçå·ã®åã«ãããã誀ã£ãŠè¿œå ãããããšãå€æããŸããã 圌女ã¯æ£ããããã«èŠããã®ã§èª°ã圌女ãèŠãŸããã§ããããçµæã¯è²§åŒ±ã§ããã ããã§ã圌ãã¯ç§ã«JSLintãä¿®æ£ããŠãä»ã®äººãåæ§ã®åé¡ã«æ©ãŸãããªãããã«ã§ããããšå°ããŸããã ã©ãããŠïŒ ç§ã¯ãããé·å¹Žãã£ãŠããŸãã ãããã£ãŠãJSLintã䜿çšããå Žåããã®çš®ã®åé¡ã§2é±éãç¡é§ã«ããããšã¯ãããŸããã ãããŠãããã¯æèŠã§ã¯ãªããäºå®ã§ãã
- åæ©èœã¯éèŠãªããŒã«ã§ã ã ããã¯çå®ã§ã¯ãããŸããã ãããã®æ©èœã®äžéšã䜿çšããã«ãããè¯ãããã°ã©ã ãäœæã§ããŸãã ãããŠãããããªãã§ããè¯ãããã°ã©ã ãæžãããšãã§ããã°ããããã¯ããã»ã©éèŠã§ã¯ãããŸããã
- åæ©èœã䜿çšããæš©å©ããããŸã ã 件åãå€æŽãããŸããã ç§ãã¡ã¯ãã¯ãããã°ã©ã ãæžãããã®æè¯ã®æ¹æ³ã«ã€ããŠè©±ããŠããŸãããïŒ ç§ãã¡ã¯ä»ãç§ãã¡ã®æš©å©ã«ã€ããŠè©±ããŠããŸãã ããã§åŒæ°ã®çµããã§ãã ãããããšãæžãæš©å©ããããŸãã é¢ä¿ãããŸãã ãšãŠãäžæã«æžããªããã°ãªããªãããšãéèŠã§ãã
- è¡šçŸã®èªç±ããŸãã¯ãç§ã¯èžè¡å®¶ã§ãããæåŸã§ã¯ãªãæŒç®åã®å
é ã«ã»ãã³ãã³ã眮ãããšã§èªåãè¡šçŸããŸãã ãå¿
èŠã§ãã èæ
®äºé
ã¯åãã§ãã
- ããŒã¹ãããŒã¯ã®åæ°ãæžããå¿
èŠããããŸãã ã»ãšãã©ã®æéãå°å·ãããšä»®å®ããŸãã ãããŠãæ°åã®ããŒã¹ãããŒã¯ã§ããã°ã©ã ãæ§ç¯ããæ¹æ³ãèŠã€ããããšãã§ããã°ãã¯ããã«å¹ççã«ãªããŸãã ããããç¶æ³ã¯ãŸã£ããéã§ãã æéã®äž»ãªç¡é§ã¯ç»å Žäººç©ã®ã»ããã§ã¯ãªããæåã®å£°ã§æ·±byãèŠãããšã§ãïŒãç§ã®ç¥ãç§ãããããšããªãåããªãã®ããã ããã¯ç§ãã¡ãã»ãšãã©ã®æéãè²»ããå Žæã§ãã ããŒã¹ãããŒã¯ã®åæ°ã10åã«å¢ãããšãšã©ãŒãåæžã§ããã¹ããŒã ãæäŸã§ããã°ãããã¯å€§ããªåå©ã«ãªããŸãïŒæ®å¿µãªããããã®ãããªã¹ããŒã ã¯ãããŸããïŒã
- ãç§ãå±éºãªæ©èœã䜿çšããŠééããç¯ãããšãæ³å®ããã®ã¯in蟱ã§ã ã ã ãééããç¯ãå¯èœæ§ãããããšã¯ç¥ã£ãŠããŸãããéåžžã«çç·ŽããŠããã®ã§å©ãããŸãã ããã§ãªããšèããããšã¯ãç§ã«å¯Ÿããin蟱ã§ãããå人çãªãã©ãŠãã§ããã ããã§ã¯ãã¹ãŠãæ確ã§ãã
- ã ãããã®æ©èœãèšèªã«è¿œå ãããçç±ããããŸã ãã ããã¯çµ¶å¯Ÿã«çå®ã§ã¯ãããŸããã ç©äºãèšèªã«åé¡ãããå€ãã®çç±ããããŸããããããã®ã»ãšãã©ã¯æå¹ã§ã¯ãããŸããã
ããšãã°ãJavaScriptã¯ããã10æ¥ã§éçºããã³å®è£ ãããŸããã ããã¯ãããã ãããŠããããè¡ã£ãåªç§ãªç·ããã¬ã³ãã³ã»ã¢ã€ã¯ã¯ã10æ¥éã«ããã£ãŠããã€ãã®ééããç¯ããŸããã ãããã®1ã€ã¯äºéç䟡æŒç®åã§ãèŠçŽ ãæ¯èŒããåã«åå€æã匷å¶ããŸããã ããã«ãã誀解ãçããæ··ä¹±ãæããŸãã Brendan Ikeã¯ããªãã¬ãŒã¿ãŒãæ£ããå®è£ ãããŠããªãã£ãããšãèªããŸããã åœæãä»ã®å€ãã®èšèªïŒPHPãªã©ïŒã§ãåããšã©ãŒãçºçããŠããŸããã ãã¬ã³ãã³ã¯ãããä¿®æ£ãããã£ãã ãããã£ãŠãæšæºã®äœæ¥ãéå§ããããšãã圌ã¯ä»ãä¿®æ£ãè¡ããšãã ãšå€æããŸããã 圌ã¯ECMAã«è¡ããããã®æ¯ãèãã¯ééã£ãŠãããæ£ãããããããšèšã£ãã ããããECMAã¯æåŠãããŸãããã劥åæ¡ãæ瀺ããŸãããã€ãŸããæ£ããæ©èœããããªãã«çåŒæŒç®åãå°å ¥ããããšã§ãã åæã«ããã§ã«ééã£ããã¶ã€ã³ã䜿ãå§ãã人ã ã®ããã«ãèšèªã«ã¯äºéã®å¹³çãæ®ã£ãŠããŸãã ãã®çµæãæ£åœãªçç±ã®ãªããªãã¬ãŒã¿ãŒãããŸãã
ãã¬ã³ãã³ã¯ããã®ãããªæ©èœããèã§ã®ã·ã§ããããšåŒãã§ããŸãïŒ ãããã¬ã³-èã§ã®éæã®ããã®éã®æåéãã®ç¿»èš³-çŽç·š ïŒã ãããŠã圌ã¯èª€ã£ãŠããããJavaScriptã«é 眮ããŸããã ãããã®äœ¿çšã¯æšå¥šãããŸããã
ãããã£ãŠãããã°ã©ãã³ã°èšèªã®ç®æšã¯ãéçºè ããšã©ãŒã®ãªãããã°ã©ã ãäœæã§ããããã«ããããšã§ãã
åªããJavaScriptããã°ã©ã ãäœæããããšã¯ãéåžžã«è匱ãªèšèªã§ãããããåçŽã«äžå¯èœã ãšèããŠããŸããã ããããåªããJavaScriptããã°ã©ã ãæžãããšã¯äžå¯èœã§ããã ãã§ãªããå¿ èŠã§ã¯ãªãããšãããããŸããã ãã®ãè匱æ§ãã®ããã«ãJavaScriptã¯ä»ã®ããã°ã©ãã³ã°èšèªãããèŠåŸãå¿ èŠã§ãã ãããŠãããªãã¯æ¬åœã«ããŸãããäœããæžãããã«ããã«åºå·ããå¿ èŠããããŸãã
ããã«ã¯2ã€ã®å¹æããããŸãã ãŸããããã¯äžå¯fallæ§ã®å¹»æ³ã§ãã ç¹ã«ãè¥ãããã°ã©ããŒã¯ãèªåã®ã¹ãã«ãéåžžã«çºéããŠããã®ã§ãé©ãã¹ãããšãå®è¡ã§ãããšä¿¡ããŠããŸãã 第äºã«ãéã®æã¡ã©ããã®ãªãç¡çãããããŸããããã¯ãç¹ã«äœå¹Žãæ©èœããªãã£ãããšãé·å¹Žè¡ã£ãŠãã幎é ã®äººã«èŠãããŸãã ããã2ã€ã®éåžžã«ç°ãªãèŠè§£ã¯ãåãããšãã€ãŸãå±éºé§ååéçºã«ã€ãªãããŸãã ãããŠããã¯æªãã§ãã
ãœãããŠã§ã¢éçºã®ç®¡çãããå°é£ã«ãããã®ã®1ã€ã¯ãèšç»ã®è€éãã§ãã ç¥ã£ãŠããã¹ãããšã2åãããŸãã æéAã¯ãã³ãŒãã®èšè¿°ã«ãããæéã§ãã ç§ãã¡ã¯ãããæ¬åœã«äžååã«è©äŸ¡ããŸã-æéAãæšå®ããæ¹æ³ã®è³ªåã«çããç§åŠã¯ãããŸãããããããæéBãæšå®ãããšç¶æ³ã¯ããã«æªåããŸã-ã³ãŒããæ£ããåäœãããã®ã«ãããæéã§ãã
æéBã¯0ã§ããå¿ èŠããããŸãã ããªããã³ãŒããæžã-ããã¯åäœããã¯ãã§ãã ãã ããæéBã¯æéAã«ãªãããšããããŸããç¡éã«ãªãããšããããŸãã ããã¯ãçµäºãããœãããŠã§ã¢éçºãããžã§ã¯ããããããåäœãéå§ããåã«ãœãããŠã§ã¢ãæåŠããå Žåã«çºçããŸãã
æéBãå¢ãããŠæéAå ã«è¡ãããšã¯ãã¹ãŠééã£ãŠããŸãã æéBããŒãã«æžããããã«ããŠãã ããã
ES6ã®æ°ãã匷ã¿
ä»å¹Ž6æã«ECMAç·äŒã«éä¿¡ãããJavaScriptã«ã¯å€ãã®è¿œå ããããŸãïŒ ãããã®é©æ°ã¯å®éã«èªèšŒæç¶ããçµãŠãæ°ããä»æ§ã®äžéšã«ãªããŸãã-ECMAScript 2015 Language Specification-Edã ïŒã
ããã€ãã®æ°ãã匷ã¿ãããããšãå ±åã§ããŠããããã§ãã ãããŠä»æ¥ãããããããªããšå ±æããããšæããŸãã
æ«å°Ÿååž°
æåã®æè¯ã®æ¹æ³ã¯ãæ«å°Ÿååž°ãšåŒã°ããæ§é ã§ãã é¢æ°ãæåŸã«å®è¡ããå Žåãé¢æ°ã®åŒã³åºãã®çµæïŒå¥ã®é¢æ°ã®åŒã³åºãã§ããå¯èœæ§ããããŸãïŒãè¿ããŸããåŒã³åºãã®éã·ãŒã±ã³ã¹ãäœæãã代ããã«ãã³ã³ãã€ã©ãŒã¯ãžã£ã³ããçæããŸãã ãããã£ãŠãã³ãŒãã¯å°ãéãåäœããŸãããããã¯çŽ æŽãããããšã§ãã ããããããã«è¯ãããš-äžéšã®ã¢ãã«ã§ã¯ãããã¯ã¡ã¢ãªæ¶è²»ãå€§å¹ ã«åæžããŸãã ãããã£ãŠããŸã£ããæ°ããã¯ã©ã¹ã®ã¢ã«ãŽãªãºã ã䜿çšã§ããŸãã
ããšãã°ãç¶ç¶è»¢éã¹ã¿ã€ã«ãã以åã®èšèªã§ã¯å®è£ ã§ããªãã£ãä»ã®çš®é¡ã®ããã°ã©ãã³ã°ã䜿çšã§ããŸãã ãããã£ãŠããã®é¢æ°ã䜿çšãããšãJavaScriptã¯æçµçã«å®éã®é¢æ°åããã°ã©ãã³ã°èšèªã«ãªããŸããããã¯çŽ æŽãããããšã§ãã
çç¥èšå·
çç¥èšå·æŒç®åãååŸããŸããã ãã©ã¡ãŒã¿ãŸãã¯åŒæ°ã®ãªã¹ãã«å ¥ãããšãå¯å€æ°ã®åŒæ°ãåŠçã§ããŸããããã¯æ¬åœã«çŽ æŽãããããšã§ãã
ããã«ã¯ãã«ã¬ãŒé¢æ°ã®2ã€ã®ããŒãžã§ã³ããããŸãã 1ã€ç®ã¯ES6ã«æºæ ããŠããŸãã
function curry(func, ...first) { return function (...second) { return func(...first, ...second); }; }
2ã€ç®ã¯ã以åã®å®è£ æ¹æ³ã§ãã
function curry(func) { var slice = Array.prototype.slice, args = slice.call(arguments, 1); return function () { return func.apply(null, args.concat(slice.call(arguments, 0))); }; }
ããã¯ãã¹ãŠã²ã©ãã®ã§ã2çªç®ã®ããŒãžã§ã³ã§æ£ç¢ºã«äœãèµ·ãããã«ã€ããŠã¯èª¬æããŸããã å察ã«ãæåã¯ããªãåççãªããã«èŠããŸãïŒç§ãã¡ããã€ã³ããèŠããšãããªãã©ãã§ãïŒããã§ã¯ããªããæãã ãå€ãã®åŒæ°ãæã€ããšãã§ããŸãïŒã ãããŠããã¯çŽ æŽãããã
ãã®é©æ°ã«ããã以åã¯ã§ããªãã£ãããšãå®è¡ã§ããªããªããŸããã ããããå¯å€æ°ã®åŒæ°ãåŠçããå¿ èŠãããå Žåããã®ã¢ãããŒãã¯ã¯ããã«åªããŠããŸãã
ã¢ãžã¥ãŒã«
ããã§ã¢ãžã¥ãŒã«ãã§ããŸããã ç°ãªããã¡ã€ã«ããå€ãã€ã³ããŒãããã³ãšã¯ã¹ããŒãã§ããŸãã ãããŠãæçµçã«èšèªãµããŒãããããŸãã 以åã¯ããããã¯ãã¹ãŠã°ããŒãã«å€æ°ãéããŠå®è£ ãããŠããŸããããã²ã©ããã®ã§ããã
ããã§æ£ããå®è¡ã§ããŸãã çŽ æŽããããšæããªãå Žåã¯ã以åã®åºæºã«åŸã£ãŠåãããšãè©ŠããŠãã ããã ããããES6ã䜿çšãããšãããã¯ãªãã§å®å šã«éåæã®èšèªã§æçµçã«ãããè¡ãããšãã§ããŸãã
å®æ°
å€æ°ãå®çŸ©ãã2ã€ã®æ°ããæ¹æ³ããããŸããletãšconstã§ããããã¯ã¹ã³ãŒãã®åé¡ã解決ããŸãã è¯ãããã°ã©ã ã§ã¯ããããã¯ã®ã¹ã³ãŒãã¯å¿ èŠãªãããšãããããŸãã ãããã以åã¯JavaScriptæ§æããããã¯ã®ã¹ã³ãŒãã®ããã«èŠããŸããïŒãã®æ§ææ§ævarã䜿çšïŒããããã§ã¯ãªãã£ãã®ã§ã人ã ãæ··ä¹±ãããŸããã æ··ä¹±ãåå ã§ãšã©ãŒãçºçãããã³ã«ã LetãšConstã¯ããããåé¿ã§ããããã«ããŸãã
ç¹°ãè¿ããŸãããæ°ãããã¶ã€ã³ã§ã¯ã以åã¯äœæã§ããªãã£ãããã°ã©ã ãäœæã§ããŸããã ãããä»ã§ã¯ãã³ãŒãã¯Javaããã°ã©ããæ©ãŸããŸãããããã¯è¯ãããšã§ãã
åç·š
å¥ã®æ§æäžã®ãã£ã³ãã£ãŒã§ãããªã¹ãã©ããããŸãã ãŸãã以åã¯ã§ããªãã£ãããšãå®è¡ããããšãã§ããŸããã ããããããã€ãã®ç¹ã§ãæ°ããæ§æã¯ã¯ããã«è¡šçŸåããããŸãã
ããšãã°ãããã«ãªããžã§ã¯ãããããŸãã ãããŠããªããžã§ã¯ãã®ããããã£ãããããã®å€æ°ãåæåããŠãããã€ãã®å€æ°ãäœæããããšæããŸãã
let {that, other} = some_object; let that = some_object.that, other = some_object.other;
ããã¯éåžžã«åçŽåãããäŸã§ãã åŸã§ãããã䜿çšããæ¹æ³ã®å¥ã®äŸã瀺ããŸãã
匱ããã
WeakMapãã§ããŸããã WeakMapã¯ããªããžã§ã¯ããæ©èœããã¯ãã®æ¹æ³ã§æ©èœããŸãã JavaScriptãªããžã§ã¯ãã§ã¯ãããŒã¯æååã§ãããããã¯ééãã§ãã 代ããã«ããã€ãã®å€ã䜿çšããæ¹ãè¯ãã§ãããã ããããããã«ããããããããããã¯ç·ã§ãã WeakMapã¯ãã®åé¡ã解決ããŸãã ããã§ã¯ãä»»æã®å€ãåãããããããŒãšããŠäœ¿çšã§ããŸãã
æ®å¿µãªããããã®ããšãè¿œå ããå¿ èŠããããèšèªãéåžžã«è€éã«ãªããŸããã ããã«ãããã°ã©ãã³ã°èšèªã§äœ¿çšãããææªã®ååïŒ weak-weak ïŒãšåŒã³ãŸããã 誰ã圌ãã®ããã°ã©ã ã«äœã匱ããã®ãå ¥ããããªãã ãããããã®èšèšã¯éåžžã«ããŸãæ©èœããŸãã
WeakMapã䜿çšãããšã以åã®èšèªã§ã¯äœæã§ããªãã£ãããã°ã©ã ãäœæã§ããŸãã
ãã¿ãŒã³æåå
æåŸã«ãã¡ã¬ã¹ãããŒã¯ãªãã©ã«ãšåŒã°ãããã®ã§ãïŒèšèªã§ã¯ãã³ãã¬ãŒãæååãšåŒã°ããŸããããã®ååã¯å¥œãã§ã¯ãããŸãããã以åã¯æºãªãã©ã«ãšåŒã°ããããã«æ··ä¹±ããŠããŸããïŒã
ããã¯ãES6ã®è€æ°ã®è¡ã«äžèŽããæ£èŠè¡šçŸã§ãã ãã®æ£èŠè¡šçŸã宣èšããã®ã¯ã²ã©ãã§ãã ãã€ããã£ãšè¯ãããšãããããšæããŸãã ããããES6ã§ã¯ããã以äžã®ä»£æ¿æ段ã¯ãããŸããã
ãããã£ãŠããã¹ãŠã®ã¹ããŒã¹ãåé€ããåŸãæååãåãåãããããæ£èŠè¡šçŸã«å€æããé¢æ°ããããŸãã ãã®ãããªé¢æ°ã䜿çšãããšãä»»æã®åŒãåãããšãã§ããŸããããã¹ãŠãããŒãã«æžã蟌ãããšã¯ã§ããŸããããå¿ èŠãªç©ºã®ã¹ããŒã¹ãããã«å ¥ããŠãèŠçŽ ãšãããã®çžäºé¢ä¿ã確èªããŸãã çµæã¯åãã«ãªããŸãã
ãã®èšèšã«ã¯1ã€ã®æ¬ ç¹ããããŸããã³ã³ãã€ã©ã¯æ£èŠè¡šçŸãæååãšããŠæ±ããããæ€èšŒãå®è¡ã§ããŸããã æ€èšŒã¯ãã³ã³ã¹ãã©ã¯ã¿ãåŒã³åºããŸã§è¡ãããŸããã ããããã¬ã³ãŒãã®åã®ããŒãžã§ã³ã§ã¯ããã¹ãŠãããŒãã«æ··åšããŠãããšããäºå®ã®ããã«ãé倧ãªãšã©ãŒãã³ã³ãã€ã©ãŒãç°¡åã«ããæããããšããããŸããã ãããã£ãŠãç§ãã¡ã¯ãã®å€æã§å€ãã倱ããšã¯æããŸããã
ãšããã§ãæ£èŠè¡šçŸãé »ç¹ã«äœ¿çšããå Žåã¯ãRegulExãšåŒã°ããããŒã«ã匷ããå§ãããŸãã ãã®äžã«æ£èŠè¡šçŸãå ¥ãããšããã€ã¢ã°ã©ã ãæ§ç¯ãããå éšã§äœãèµ·ãã£ãŠããããæ£ç¢ºã«èŠãããšãã§ããŸãã æ£èŠè¡šçŸãæžããã³ã«äœ¿çšããŸãã
ç¢å°é¢æ°
ES6ã§åŸããããã1ã€ã®æ°ããæ©èœã¯ãå¿åã®ç¢å°é¢æ°ã§ãã å€èŠ³ã®è¯ãåæ©ã¯ãé¢æ°åãå ¥åãããšãã«å€§éã®ããã¹ãã«ã€ããŠäžæºãèšã人ãããããšã§ãã ã ããç§ã¯ãã®ãããªããšãè¿œå ããŸããã ããã¯ãæ¬è³ªçã«é¢æ°ã®çãæå®ã§ãã çµæãšããŠãåŒæ°ãåããæå®ãããããããã£ããã®å€ãæã€ãªããžã§ã¯ããè¿ãé¢æ°ãååŸããŸãã
ããã¯æ£åžžã«æ©èœããªãããšãé€ããŠããã¹ãŠãé 調ã§ãã ãã®é¢æ°ãåŒã³åºããšããšã©ãŒããããããå€ã®ä»£ããã«undefinedãè¿ããŸãã ãããã£ãŠãããã¯ãæã«ã¯è¯ãããšãããã°ãããã§ãªãããšããããéççãªãã®ã®1ã€ã§ãã åžžã«æ©èœããŠããã°çŽ æŽãããããšã§ãããããã§ã¯ãããŸããã
ES6ã®æ¬ ç¹
ãã®é·æã«å ããŠãES6ã«ã¯ççŽã«èšã£ãŠæªãèŠçŽ ããããŸãã
ã¯ã©ã¹
ææªã®ã€ãããŒã·ã§ã³ã¯ã¯ã©ã¹ã§ãã ãã®ã¯ã©ã¹ã¯æã人æ°ã®ããæ°æ©èœã§ãããã»ãšãã©ã®ãªã¯ãšã¹ãã¯JavaScriptã§èšè¿°ããå¿ èŠã®ããJavaããã°ã©ããŒããã®ãã®ã§ããã圌ãã¯æ¬åœã«ããã«æ¿æããŠããŸãã ç§ã¯Javaã§æžãããã®ã§ãããJavaScriptã«ã¯ã¿ã¹ã¯ãšãéãããã®ã§ã圌ãã¯ãããããªããã°ãªããŸããã 圌ãã¯ååŠç¿ããããªãã®ã§ãæ°ããæ§æã¯åœŒãã®äººçãç°¡çŽ åããŸãã
ãã¹ãŠã¯åé¡ãããŸãããããã®æ°ããæ§æã«äŸåããŠãããããèšèªã®ä»çµã¿ãç解ããããšã¯ã§ããŸããã ãããŠã圌ãã¯ãã®èšèªãå¹æçã«äœ¿çšããæ¹æ³ã決ããŠç解ããŸãããã圌ãã¯ç解ãããšæããŸãã 圌ãã¯ã圌ããã©ãã»ã©äžå¹žã§ããããç¥ããã«ãæžãç¶ããŸãã ããã¯trapã§ãã
Object.Create
æ°ããç¥èãšES6ã®é©æ°ãåæ ããå¿ èŠæ§ãèæ ®ããŠãStrengthsã«æžãããå 容ãæ¹èšããŠããŸãã ã匷ã¿ããæžãããšããã¯ã©ã¹ã®ä»£ããã«object.createã䜿çšããããšããå§ãããŸããã
å®éã䜿çšã§ããããã«object.createãèšèªã«è¿œå ããã®ã¯ç§ã§ããã ããªãããŸããããŸããã ããããobject.createã®äœ¿çšãåæ¢ããããšã«æ°ä»ãããšããç§ã¯ã©ãã»ã©é©ããŸãããã ããã«èªåã§è¿œå ããŸãããã䜿çšããŸããã ãããŠããã®çç±ã¯ç§ãããã䜿ãã®ããããããšã§ãã
ãã
2007幎ã«ADSafeãšåŒã°ãããããžã§ã¯ããäœæãããããããã®äœ¿çšãäžæ¢ããŸããã åœæãFacebookã®fbjsãCaja GoogleãMicrosoftã®Web Sandboxãªã©ãããã€ãã®ç 究ã°ã«ãŒãããããããã«ãADSafeãªã©ã®ãããžã§ã¯ãããããŸããã JavaScriptãå®å šãªèšèªã«ããŠããµãŒãããŒãã£ã®ã³ãŒããã¢ããªã±ãŒã·ã§ã³ã«è¿œå ããã»ãã¥ãªãã£ã®åé¡ãçºçããªãããã«ããæ¹æ³ãèŠã€ããããšããŸããã JavaScriptã§ã¯ãããã¯éåžžã«é£ããã¿ã¹ã¯ã§ããããšãå€æããŸããã
ããã解決ããã®ãé£ãããªãããšã®1ã€ãããã§ãã ã¡ãœããã«ãããããå Žåããªããžã§ã¯ãã®ã€ãã³ããªã¹ãã«ãã€ã³ãããŸãïŒããã¯é©åã§å¿ èŠã§ãïŒã ãã ããé¢æ°ãšåãã¡ãœãããåŒã³åºããšãã°ããŒãã«ãªããžã§ã¯ãã«ãã€ã³ããããã»ãã¥ãªãã£ã«å®å šã«éåããŸãã ããã«å¯ŸåŠããæ¹æ³ã¯ïŒ
ã»ãšãã©ã®ãããžã§ã¯ãã¯ãã»ãã¥ãªãã£ã®åé¡ãé²ãããã«ãJavaScriptãå€ãã®ã©ã³ã¿ã€ã ãã§ãã¯ãšå¯Ÿè©±ãåããJavaScriptã«å€æããã³ã³ãã€ã©ã§ãã®åé¡ã«å¯ŸåŠããŠããŸãã
ADSafeã§ã®ç§ã®ã¢ãããŒãã¯ãã£ãšç°¡åã§ããã ç§ã¯ã¡ããã©ãããéæ³ã«ããããã䜿çšãããŠããããã°ã©ã ãæŸæ£ããããä¿ããŸããã åäœããŸãã å¯äžã®åé¡ã¯ã誰ããããã䜿çšãããããããã°ã©ã ã®å€§éšåãæŸæ£ããªããã°ãªããªãããšã§ãã
ããããç§ã®ä»®èª¬ã§ã¯ããããèšèªããåé€ããŠããåªããããã°ã©ã ãäœæããã®ã«ååãªé¢æ°åããã°ã©ãã³ã°èšèªãæ®ãããšã«ãªããŸãã ããããã¹ãããããã«ãç§ã¯ïŒãããªãã§ïŒå¶éãªãã§JavaScriptã§ãæžãå§ããŸããã ãããŠãç§ã¯ãããæããã«ãããå°ãªãåŽåã§ããè¯ãããã°ã©ã ãæžãå§ããããšã«éåžžã«é©ããŸããã ãšãŠãããã èšããŸã§ããªãããããèšèªèªäœã«ååšããããšãå°é£ãªå Žåãã€ãŸãè±èªã§ã³ãã¥ãã±ãŒã·ã§ã³ããšãå Žåãèšèªã®æ§ç¯ãæå³ããã®ãã代åè©ãæå³ããã®ããäºåã«ç¥ãããšã¯ã§ããŸããã ããã¯ããªãããªãããŒã§ãã
ãã«/æªå®çŸ©
nullã®äœ¿çšãåæ¢ããŸããã JavaScriptã«ã¯ãnullãšundefinedã®2ã€ã®æå°å€ããããŸãã äžéšã®èšèªã§ã¯ãããã䜿çšãã¹ãã§ã¯ãªããšèããããŠããŸãã JavaScriptã¯ããã®ãããªå€ãè€æ°æã€å¯äžã®èšèªã§ãã ããããäžåºŠã«2ã€æã€ã®ã¯æãã§ããããšã¯ééããããŸããã
äžéšã®ãã¬ãŒã ã¯ãŒã¯ã¯ããããã亀æå¯èœãšããŠæ±ããŸãããããã§ã¯ãããŸããã ç¶æ³ã«å¿ããŠããã®ãã¡ã®1ã€ã ãã䜿çšããå¿ èŠããããŸãã ããã䜿çšããã®ã¯èšèªèªäœã§ãããããundefinedã䜿çšããŸãããããšãã°ãæ¬ èœããŠããããããã£ã«ã¢ã¯ã»ã¹ãããšãundefinedã«ãªããŸãã
äžå®ã®å€ã¯ãå®å šã«ééã£ãã¿ã€ãã®æ¬ èœãªããžã§ã¯ãã®åé¡ã®å šç¯å²ãåŒãèµ·ãããŸãã ãããES6ã§ä¿®æ£ãããããšãæåŸ ããŠããŸããããããã¯èµ·ãããŸããã§ããã ããããåžžã«ããã§ãããã ãã ããnullã䜿çšããŠããªãå Žåããã®åé¡ã¯çºçããŸããã ãŸãã誀ã£ãå€ã®äœ¿çšãåæ¢ããJavaScriptã«ååšããããšèªäœãæªãèãã ãšå€æããŸããã
ãã®ã¢ã€ãã¢ã¯ããšããšCã«ç±æ¥ããCã¯0ãnoãfalseãããã³ãã®ä»ã®é¡äŒŒå€ãè¡šãããã«äœ¿çšããŸãã JavaScriptã¯åãããšãè©Šã¿ãŸããã ããããããã¯æ··ä¹±ãæããŸãã
ã®ããã«
forã®äœ¿çšãåæ¢ããŸããã ES5ã§ã¯ãé åãæäœããããã®æ°ããäžé£ã®ã¡ãœãããå°å ¥ããŸãã-ãããããããããªã©ã®ããã«ããããã®ããŒã«ã䜿çšããŸãã é åãããããããåŠçããå¿ èŠãããå Žåããããã®æ¹æ³ã®ããããã䜿çšããŸãã ãããŠããããã䟿å©ãªæ¹æ³ã§çµã¿åãããããšãã§ããŸãã ããã¯æ¬åœã«è¡šçŸåè±ãã§ãã
ããããã«ã€ããŠ
ç§ã¯ããããã«äœ¿çšããŸããã ES5ã§ã¯ããªããžã§ã¯ã.keysïŒãªããžã§ã¯ãïŒãååŸããŸããã ãã®æ§é ã¯ãæååã®çŽ æŽãããé åãæäŸããŸãã ãŸãããããã¿ã€ããã§ãŒã³ããã®ãã®ãå«ãŸããŠããªããããçµæããã£ã«ã¿ãªã³ã°ããå¿ èŠã¯ãããŸããã ãã®æ¹æ³ã§é åãååŸããããããã«å¯ŸããŠå®è¡ã§ããããšã¯éåžžã«çŽ æŽãããããšã§ããããã¯æ¬åœã«è¡šçŸåè±ããªæ¹æ³ã§ãã
åã«ãç§ã¯éåžžã®ããŒã«ååž°ãES6ã«ç»å ŽããããšãèšåããŸããã ãããŠãä»åºŠã¯ã«ãŒãïŒç¹ã«whileã¹ããŒãã¡ã³ãïŒã®äœ¿çšãå®å šã«åæ¢ããŸããååž°é¢æ°ã®ã¿ã䜿çšããŸãã
ããšãã°ãååž°é¢æ°ã§ãã æªå®çŸ©ãè¿ããŸã§ããã®é¢æ°ãåŒã³åºããŸãã ã³ãŒãã®æåã®ããŒãžã§ã³ã¯ãwhileã«ãŒãã䜿çšããŠèšè¿°ãããŠããŸãã
function repeat(func) { while (func() !== undefined) { } }
2çªç®ã®ããŒãžã§ã³ã¯ãæ«å°Ÿååž°ã䜿çšããŠèšè¿°ãããŠããŸãã
function repeat(func) { if (func() !== undefined) { return repeat(func); } }
ES6ã§ã¯ãããã2ã€ã®æ¹æ³ã¯åãé床ã§åäœãããŸã£ããåãéã®ã¡ã¢ãªãæ¶è²»ããŸãã ãããã£ãŠãã«ãŒãã«ã¯ååž°ãããå©ç¹ã¯ãããŸããã ããã¯çŽ æŽãããã
次äžä»£ã®èšèª
次äžä»£ã®ããã°ã©ãã³ã°èšèªã«ã€ããŠå€ãã®ããšãèããŸããã 圌ã¯ã©ã®ããã«ãªããŸããïŒ JavaScriptãæåŸã®ããã°ã©ãã³ã°èšèªã§ããããšãå€æãããšéåžžã«æ²ããã®ã§ãããã¯ããããJavaScriptã眮ãæããèšèªã«ãªãã¯ãã§ãã èããããªãã£ãã å°ãªããšãåäŸãã¡ã«ãšã£ãŠãäžçãããè¯ãå Žæã«ããªããã°ãªããŸãããïŒ
ãã®èšèªãã©ã®ããã«ãªãããèããŠããŸããã ã©ã®ãããªããããã£ãå¿ èŠã§ããïŒ åœŒã¯ã©ã®ãããªåé¡ã解決ããŸããïŒ åœŒãçŸãããšãã«åœŒãã©ã®ããã«èªèããã®ã§ããããïŒ
ç§ã確信ããŠããããšã®1ã€ã¯ã圌ãæçµçã«çŸãããšããæã ã¯åœŒãæåŠããã§ãããã ãããŠãã®çç±ã¯ãããã°ã©ããŒãææ çã§éåççãªç°åžžãªäººã ããã§ãã
ããã¯ããã§ã¯ãªããšèããŠããŸãã ç§ãã¡ã¯ã³ã³ãã¥ãŒã¿ãŒã®äžçã§äººã ã®å€§äœ¿ã®åœ¹å²ãæãããŠãããã³ã³ãã¥ãŒã¿ãŒã¯å®å šã«åççã ããã§ãã ãããã£ãŠãç§ãã¡èªèº«ãåççã§ãããšä»®å®ããŸãã ç§ãã¡ã®å€ãã¯ç€ŸäŒçã¹ãã«ã倱ããŸããããäžåçæ§ãšææ æ§ã¯æ¶ããŠããŸããã ãã®è«æãè£ä»ãã蚌æ ãèŠãŠã¿ãŸãããã
- é«ã¬ãã«ã®èšèªãè¯ãã¢ã€ãã¢ãšããŠèªèããã«ã¯ã1äžä»£ããããŸããã Fortranãå€ãã®ã¢ã»ã³ãã©ãŒèšèªã«ç»å Žãããšããéçºè
ïŒåœæã¯ãã¹ãŠã¢ã»ã³ãã©ãŒããã°ã©ããŒã§ããïŒãFortranãžã®åãæ¿ããæåŠããŸããã Fortranã¯ãã·ã³ãšã®çžäºäœçšã®å¶åŸ¡ã奪ãåã£ããããèš±å¯ã§ããŸããã§ããã 移è¡ã¯åœŒãã®äººçãããè¯ãããã ãããã圌ãã¯ãããæŸæ£ããã
- è¡ãã®ã¯æªãèãã ãšåæããã®ã«å
šäžä»£ãããã£ãã äœå幎ãã®éãgo toã䜿çšãããã©ãããææ
çã«è°è«ããŠããŸããã ãããŠãéåžžã«è³¢ã人ã
ããã®æ·±ãèãæãããè°è«ãšããããã¯ç§ã®è¡šçŸæ¹æ³ã§ããããå¹çãå¿
èŠã§ããããç§ã¯æ»ã«ãŸãããç§ã¯ãããwillããŸããããšããã¹ã¿ã€ã«ã®æã®äž¡æ¹ãäžããããŸããã ãããã®è°è«ã¯ãã¹ãŠå®å
šã«ééã£ãŠããããšãå€æããŸããã
- ãªããžã§ã¯ããè¯ãã¢ã€ãã¢ã§ããããšã«åæããã«ã¯äžä»£ãããããŸããã 1967幎ãSimulaãšåŒã°ããèšèªããã«ãŠã§ãŒã«ç»å ŽããŸããã ç§ãç¥ãéãããã®èšèªã«ã¯éèŠãªã¢ã€ãã¢ãå«ãŸããŠãããšèªããã®ã¯ãäžçã§ãã£ã1人ããŠã¿å€§åŠïŒã¢ã©ããå·ïŒã®Alana Kayã ãã§ããã ä»ã®ã¿ããªã¯ãããéããŸããã 圌ã¯ãSimulaã«ç»å Žãããªããžã§ã¯ããéåžžã«è¡šçŸåããããåäŸåãã®ããã°ã©ãã³ã°èšèªãéçºã§ãããšèããŸããã ãããŠãåäŸãã¡ã¯ãã®ãã©ãã€ã ã䜿çšããŠçŽ æŽãããããã°ã©ã ãæžãããšãã§ããŸãã ãã®ããã圌ã¯ãã®èšèªã®å匷ãå§ããã»ãŒ10幎ãããŠèªåã®èšèªãéçºããæ¹åããŸããã 1980幎ã«ããããå
¬éãããŸããã ãããŠãããã¯å²äžæé«ã®éçºãããããã°ã©ãã³ã°èšèª-C ++ã§ããã Alan Kayã¯Simulaã®ã¢ã€ãã¢ãåãå
¥ããããŸãç解ããŠããŸããã§ããããCã«ç¿»èš³ããŸããã
ãã®ãããæ¥çã«ã¯éžæè¢ããããŸãããSimulaãŸãã¯C ++ã«åŸãããšãã§ããŸããã æçµçãªæ±ºå®ã¯ãããã°ã©ãã³ã°ã®ããã«ãªããžã§ã¯ããäœã§ããããåºæ¬çã«ç解ããŠããªã人ã ã«ãã£ãŠè¡ãããŸããã ãããã圌ãã¯C ++ãéžæããŸããããªããªããèšèªã䜿ãå§ããããã«ãªããžã§ã¯ãæåããã°ã©ãã³ã°ãç解ããå¿ èŠããªãããã§ãã ãã以æ¥ãã»ãŒãã¹ãŠã®èšèªã§ãSimulaãããC ++ããå€ããåããŠããŸããã ãããŠãç§ãã¡ã¯ãŸã ééã£ãŠããŸãã
- ãããŠæåŸã«ã ã©ã ããè¯ãã¢ã€ãã¢ã§ããããšã«åæããã®ã«2äžä»£ããããŸããã ã©ã ãã¯ã70幎代ååã«MITã§SqueakãšåŒã°ããèšèªã§ç»å ŽããŸããã ãããŠãæ¥çã¯ããã«å
šã泚æãæããŸããã§ããã æçµçã«ã©ã ããäž»æµã«ããã®ã«ã2äžä»£ã§ã¯ãªã4äžä»£ããããŸããã æéãããããããŠãã¢ã€ãã¢ã®å€±æã®èšŒæ ã ãšèãã人ãããŸããã ããããã©ã ãã䜿çšããé¢æ°åããã°ã©ãã³ã°ã¯ãä»æ¥æ±ã£ãŠããéåæã·ã¹ãã ãåæ£ã·ã¹ãã ãæäœãããšãã«éåžžã«å¹æçã§ããããšãããããŸããã ãã®ã¢ã€ãã¢ãåãå
¥ããæåã®èšèªã¯JavaScriptã§ãã ãã®åŸãã©ã ããPythonãšRubyããããŠæçµçã«ã¯CïŒã«ç»å ŽããŸããã å°ãåãã€ãã«Javaã§ã ããããJavaScriptãæåã§ããã
äœããããé·ãéç¶ããŠããã®ã¯ãå¿ãå€ããããšãã§ããªãããã§ãã ç§ãã¡ã¯ãæ°ããè¯ãã¢ã€ãã¢ã®éåžžã«å€ãã®ãŠãŒã¶ãŒãç²åŸããããã䜿ãç¶ããããšãã§ããããã«ãªãåã«ãäžä»£ãåŒéãããæ»ã¬ã®ãåŸ ããªããã°ãªããŸããã
ã«è¡ã£ããšãã«èŠããŠããŸãã 圌ã®åšãã®è°è«ã¯äœå¹Žãè¡°ããŸããã§ããããããŠçªç¶ããã¯éãã«ãªããŸããã ç§ãã¡ã¯ä»åœŒãåãé€ãããšãã§ããŸããïŒ ã¯ããç§ãã¡ã¯åœŒãæ®ããŸããã 誰ããè¡ãã®ã«èŠããã§ããŸããïŒ ãã¹ãŠã®çŽäºã¯ç¡æå³ã§ããããšãå€æãããã©ãã€ã ã·ãããèµ·ãããŸããã
人ã ããã®ãã©ãã€ã ãåããã®ã¯æ¬åœã«é£ããã§ãã go toã®ã¹ããŒãªãŒã¯ã1ã€ã®èšèšãåãé€ããããã°ã©ã ã®æ§é ãå€ããã ãã§ãã go toã®æ¬ åŠã«ããããã°ã©ãã³ã°ã容æã«ãªãããšãå€æããŸããã
ã ãããããç§ã¯æ¬¡ã®ããã°ã©ãã³ã°èšèªãããããæåŠããããšä¿¡ããŠããŸãã
èšèªåé¡ã«ã€ããŠ
ããã°ã©ãã³ã°èšèªãã©ã®ããã«åé¡ããããèããŠãã ããã èšèªãã·ã¹ãã ãšã¢ããªã±ãŒã·ã§ã³ã®2ã€ã®äž»èŠã»ããã«åããŸãã
ã·ã¹ãã èšèªã¯ãã¡ã¢ãªã¢ãã±ãŒã¿ãã·ã¹ãã ã³ã¢ãããã€ã¹ãã©ã€ããèšè¿°ããããã«äœ¿çšãããŸã-ãããã¯éåžžã«äœã¬ãã«ã®èšèªã§ãã ãã以å€ã¯ãã¹ãŠã¢ããªã±ãŒã·ã§ã³èšèªã§äœæããå¿ èŠããããŸãã
ããããJavaã®æ倧ã®åé¡ã¯ãJavaã®äœæè ããã®éšéã®ã©ã¡ãåŽã«ãªããããã決å®ã§ããªãã£ãããšã§ãã ãã®ãããJavaã¯äž¡æ¹ã®ã¿ã¹ã¯ããµãã«ããããšããŠããŸãã
äž¡æ¹ã®ã«ããŽãªã«æ°ããèšèªãå¿ èŠã§ãã ããšãã°ã60幎代ã«ç»å ŽããCã¯ãä»æ¥ã§ãäž»èŠãªã·ã¹ãã èšèªã§ãã ããããç§ã®ä»äºã¯å¿çšèšèªã«çŠç¹ãåœãŠãŠããŸã-ç§ãã¡ã®ã»ãšãã©ã察åŠããã®ã¯ãããã§ãã
å¿çšèšèªã¯ã2ã€ã®ã°ã«ãŒãã«åããããšãã§ããŸããå€å žæŽŸïŒã»ãšãã©ãã¹ãŠã®èšèªãå«ãïŒãšãããã¿ã€ãããã°ã©ãã³ã°çšã®èšèªã°ã«ãŒãïŒJavaScriptãå«ãïŒã§ãã
ãããŠãJavaScriptã¯æ£ããæ¹åãéžãã ãšæããŸãã å€ãã®æ¹å€ãåŒãèµ·ãããŠããJavaScriptã«ã¯é©æ°ãå«ãŸããŠããŸãã
ã·ã¹ãã ãèšèšããå€å žçãªåŠæ ¡ã®èšèªã§ããã°ã©ã ãäœæããå Žåããªããžã§ã¯ãã®åé¡ãè¡ãå¿ èŠããããŸãã ã·ã¹ãã ã®ãã¹ãŠã®ãªããžã§ã¯ããåæããŠãããããäœã§æ§æãããŠããããç解ããåé¡æ³ãå®è¡ããã¯ã©ã¹ãçžäºã«ã©ã®ããã«é¢é£ããããã©ã®ããã«ãäœãå®è£ ããããç¥ãå¿ èŠããããŸãã ããã¯ãã¹ãŠéåžžã«è€éã§ãããªããªãããããžã§ã¯ãã®éå§æã«æãé »ç¹ã«è¡ãããããã§ãã ã·ã¹ãã ãã©ã®ããã«æ©èœãããã«ã€ããŠã®æäœéã®ç解ãããæç¹ã§ã ãããã£ãŠãåžžã«ééã£ãåé¡æ³ãååŸããŸãã ãã®ããã誀ã£ãŠéžæããããªããžã§ã¯ãã«ãªã£ãŠããŸããŸãã ãããŠä»ããããªãã¯åœŒããšæŠã£ãŠããŸãã ããã ãã§ã¯ãåé¡ãæ£ãã解決ããããšã¯ã§ããŸããã å€éç¶æ¿ãå¿ èŠã§ãããããã¯ãã¹ãŠæ©èœããŸããã , , , , , , . . , , , . , ( ).
- . . - , . JavaScript, ( ), . .
Java-. , . â , , .
. . , , .. . , , 1995 . ããããä»æ¥ã§ã¯ãããŸããã . . , â . - .
, , . , . , . , . , . , .
. JavaScript , . , . , .
, , - . , â JavaScript .
, . . , . .
{ let a; { let b; ... a ⊠... b ⊠} ... a ... }
JavaScript , â , . .
function green() { let a; function yellow() { let b; ... a ⊠... b ⊠} ... a ... }
, , , ( â ).
, , ? . , . , A?
, , . â , heap, . .
, , ES6. , constructor:
function constructor(spec) { let {member} = spec, {other} = other_constructor(spec), method = function () { // member, other, method }; return Object.freeze({ method, other }); }
. , .
, , , . - , . , . , , . â , .
. , .
. , . . , , - , . .
return. ES6 : method. , , .
. , , . JavaScript. , . - , Pascal, , , , . . . , , , . . , .
, . 2001 Java JSON. this. index, int. , , . , .
, 2001 . , int 2 â . . , JSON . , , .
, , -, JSON 7 Gb. , . , int. .
int. int â . , , int? , . , . , , «- ».
â : , , . â , ; . , , , .
, 10 20 , . , - , .
DEC64
, . , (, ).
, . . , Atari 2600 128 . 64 , 4 .
- . . , 50 , â ?
. , Java byte, char, short, int, long, flot, double .. , , , , . , . , . , , , . , , . ããã¯æªãã§ãã
, JavaScript . . JavaScript , . 0.1 + 0.2 0.3. . â , .
, , . , . . - , , , . . , , .
- , : , 10 , , .
. , . : , . BCD (- ). . Fortran COBOL BCD. , . Java COBOL. Java -. .
. DEC64. 64- , , .

56- , , . Intel . , . . ( , ).
DEC64 Intel x64 â , (dec64.com, GitHub ).
int. , , .
, , . , . . â , () . , , , .
, . â JSON.

Google, XML () JSON (). , XML 2005 , JSON.
, JSON . , JSON, JSON. . .
, . , . Google . Google Trends ( 2015 â . . ). JSON , XML.
, :
HolyJS Piter :
20 JavaScript: . Lea Verou, Martin Splitt, Anjana Vakil, Claudia Hernández . .