TypeScriptãšåããŠåºäŒããåéã«ãªã£ãŠãããã°ããçµã¡ãŸããã åœæãããŒãžã§ã³ã¯
ãŸã 1ãŠããããè¶
ããŠ
ããŸãã ã ãããŠæè¿ã
ãªãªãŒã¹1.7ã
ãªãªãŒã¹ãããŸãã ã ãã®éãç§ãã¡ã¯ãäºãã«æ
£ããå€ãã®æåãšå€±æãçµéšããŸããã ç¬ç«ããèšèªãšããŠã®ãã®JavaScriptã®æ¹èšã«ã€ããŠã®ç§ã®å°è±¡ãšèããå°ãå
±æããããšæããŸãã ãã®ãããªæçš¿ã®ã¢ã€ãã¢ã¯ãååãšå¥ã®ããªããŒã«ã€ããŠè°è«ãããšãã«èªç¶ã«æãã€ããŸããã
ããã§ã
TypeScriptèªäœã¯æ£ç¢ºã«äœ
ã§ãã -ãããã誰ã«ãç§å¯ã§ã¯ãããŸããã ããããããã§ããããã¯Microsoftã«ããJavaScriptãžã®éçåä»ãã®è©Šã¿ã§ãã ã³ãŒãã®äŸãšããã«ãã£ãŠè§£æ±ºã§ããã¿ã¹ã¯ã®äŸã¯ã
å
¬åŒWebãµã€ããŸãã¯
ããã®ããã«ãããŸãã ããã«ã¯åæ§ã®
TypeScriptã®èšäºãæ¢ã«ãããŸã
ïŒäžè¬çãªå°è±¡ ããããã£ãŠãç¹°ãè¿ããªãããã«ãç§ã¯ç§ã®å人çãªçµéšã«åºã¥ããŠãèšèªã§äœæ¥ããããšã®é·æãšçæã匷調ããããšã«ããŸããã èšèªã®é·æãšçæãæãåºããŠãªã¹ãããã®ã¯ç°¡åã§ã¯ãããŸããã§ããã
èšèªã®äººæ°
TypeScriptãããžã§ã¯ãã¯ãMicrosoftã«ãã£ãŠäœæãããŸããã å®éããã®äœæè
ã¯
Anners Halesbergã§ãã åœåãããTypeScriptã¯æè»æ§ãšããã©ãŒãã³ã¹ã®ããã«ããã«äººæ°ãåããŸããã JavaScriptã§æžãããå€ãã®ãããžã§ã¯ããTypeScriptã«ç§»æ€ããå§ããŸããã ãã®èšèªãžã®é¢å¿ã®é«ãŸãã¯ããã®èšèªã§å®è£
ãããå€ãã®ã¢ã€ãã¢ãåŸã«æ°ããJavaScriptæšæºã®äžéšã«ãªã£ããšããäºå®ã«ãèµ·å ããŠããŸãã
Angular 2.0ã
vscodeãªã©ã®å€§ããªãããžã§ã¯ããå«ãããã®èšèªã§äœæããããããžã§ã¯ãã¯ãŸããŸãå¢ããŠããŸãã
æš©åšãã人ã
ã®å£°
TypeScriptã¯ãééããªãæé«ã®ããã³ããšã³ãJavaScriptèšèªã®1ã€ã§ãã çæããã³ãŒããæãé
åçã«èŠããŸãã ãããŠã圌ã¯å®£èšãã¯ã©ã¹ã®ãããªãã®ãå®è£
ããããã«ECMAScriptæšæºã®è² è·ãåãé€ãããšãã§ãããšæããŸãã Andersã¯ããã®æ©èœãããªããã»ããµã«ãã£ãŠååã«ãµããŒããããŠããããšã瀺ãããããã¡ã€ã³èšèªãå€æŽããå¿
èŠã¯ãããŸããã
JavaScriptã§ã®ç¡æã®ã¿ã€ãã³ã°ã¯èšèªã®é·æã®1ã€ã§ãããã¿ã€ããã§ãã¯ã¯é倧è©äŸ¡ãããŠãããšæããŸãã TypeScriptã¯å©äŸ¿æ§ãé«ããããŸãã ãããŠãããã¯ç§ãåãã§æ¯æãäŸ¡æ Œã§ã¯ãããŸããã
ãã°ã©ã¹ã»ã¯ããã¯ãã©ãŒãã¯JSLintã®äœæè
ã§ãã ãªãªãžãã«
Visual StudioãŠãŒã¶ãŒã«ãšã£ãŠãTypeScriptã¯éåžžã«åªããéçºããŒã«ã§ãããES6ã«ãéåžžã«æºæ ããŠããŸãã ç§ã¯ãã®èšèªã«ã€ããŠãã£ãšè©±ãããšãã§ããŸãããããããDartãšæ¯èŒããçç±ã¯èŠåœãããŸããã
Brendan Ikeã¯JavaScriptã®åµèšè
ã§ãã ãªãªãžãã«
ç§ã¯CoffeeScriptã®å€§ãã¡ã³ã§ãããCoffeeScriptã¯ç¬èªã®æ§æãæã€å¥ã®èšèªã§ãã TypeScriptã§æ°ã«å
¥ã£ãŠããã®ã¯ãéçåä»ãã«ãããã³ã³ãã€ã«ããã»ã¹ã«èŠåãšã¹ããŒãã³ãŒããªãã¡ã¯ã¿ãªã³ã°ãæäŸã§ããããšã§ãã ããã«å ããŠãã³ãŒãããã²ãŒã·ã§ã³ãç°¡åã«ãªããŸãã CoffeScriptã®çŸåšã®ããŒãžã§ã³ã§ã¯ããã®ãããªæ©èœã¯äœ¿çšã§ããŸããã
Scott Hanselmanã¯ãã€ã¯ããœããã®ãšãã³ãžã§ãªã¹ãã§ãã ãªãªãžãã«
é·æ
TypeScriptã®å©ç¹ã«ã€ããŠã¯ããªãå€ãã®ããšãæžãããŠããŸãã ãããã£ãŠããã®å©ç¹ãææããããšããŸãã
- å€ãã®äžè¬çãªIDEã®ãµããŒãïŒ
- TypeScriptã¯å³å¯ã«åæå®ããïŒ ãªãã·ã§ã³ïŒ ïŒãJavaScriptèšèªã§ã³ã³ãã€ã«ãããŠããŸãã ããã°ã©ããŒã¯JavaãšCïŒãåŠã¶ã®ãç°¡åã§ãã
- TypeScriptã¯ãç¶æ¿ãããªã¢ãŒãã£ãºã ãã«ãã»ã«åãã¢ã¯ã»ã¹ä¿®é£Ÿåãªã©ãå€ãã®OOPã®æŠå¿µãå®è£
ããŠããŸãã ã¯ã©ã¹ãã€ã³ã¿ãŒãã§ãŒã¹ãããã³ïŒå¶æ°ïŒïŒæœè±¡ã¯ã©ã¹ããããŸãã
- ãã®èšèªã®å¯èœæ§ã«ãããæšæºã®JavaScriptãããå°æ¥ã®éçºãšãã¹ãã容æãªè€éãªçµ±åãœãªã¥ãŒã·ã§ã³ãããéãç°¡åã«æžãããšãã§ããŸãã
- TypeScriptã¯JavaScriptã®ã¹ãŒããŒã»ããã§ãããããJavaScriptã³ãŒãã¯ãã¹ãŠTypeScriptã§ãå®è¡ãããŸãã ç§ã®æèŠã§ã¯ãããã¯ç«¶åä»ç€Ÿã«å¯Ÿããäž»ãªå©ç¹ã§ããããšãã°ãGoogleã®Dartã¯Javascriptããæ ¹æ¬çã«åèšèšãããèšèªã§ãã Javascriptãããžã§ã¯ãã®TypeScriptãžã®ç¿»èš³ã«é¢ããèšäºããããŸã
çæ
ã»ãšãã©ã®å ŽåãTypeScriptã¯è³è³ãããŠããããã«æããŸãã ãããã£ãŠãTypescriptã®äœãåé¡ãªã®ãã«ã€ããŠã®æçš¿ãæžããããšæããŸããã çµå±ã®ãšãããçæãèŠã€ããã®ã¯ç°¡åã§ã¯ãããŸããã§ããã
- éçºã®ããã»ã¹ã§ã¯ã* .tsã* .d.tsã* .mapã* .jsãã¡ã€ã«ãæ±ã£ãŠããŸãã è¿œå ãã¡ã€ã«ãå€ãããããããããžã§ã¯ããå°ããå Žåã¯äžäŸ¿ã§ãã
- ãã¹ãŠã®ãã©ãŠã¶ããäžèŠãªèšå®ãªãã«ã³ã³ãœãŒã«ã§TypeScriptãããã°ããµããŒãããŠããããã§ã¯ãããŸããã
- å€ãã®èªæã§ãªãã¯ã©ã¹ã ã¯ã©ã¹ã«åºã¥ããŠã³ãŒããèšè¿°ããã«ã¯ãã©ã®ããããã£ãã©ãã«ããããèŠããŠããå¿
èŠããããŸãã ããšãã°ã1ã€ã®ã€ãã³ãã¯ã©ã¹ã®ä»£ããã«ãMouseEventãTouchEventãKeyboardEventãªã©ããŸã ãããŸã...
- æé»çãªéçåä»ãã ã¿ã€ãã¯ãã€ã§ãanyãšããŠèšè¿°ã§ããŸããå®éããã®å€æ°ã®ç¹å®ã®ã¿ã€ããžã®ãã£ã¹ãã¯ç¡å¹ã«ãªããŸãã
- ããã¯ãã©ã³ã¹ããŒã¿ãŒã§ãããåžžã«æå
ã«TSCãå¿
èŠã§ããããšãæå³ããŸã
- d.ts宣èšã¯DefinitelyTypedã³ãã¥ããã£ã«ãã£ãŠãµããŒããããŠãããå€ãã®å Žåãã©ã€ãã©ãªã®çŸåšã®ããŒãžã§ã³ãšäžèŽããŸããã ãŸãã¯ãè€éãªããªã¢ã³ãïŒæ±çšé¢æ°ãè€æ°ã®ã¿ã€ãã®æ»ãå€ïŒãèæ
®ããŸãã
éçåä»ãã«ã€ããŠå°ã
ãã¹ãŠã®éçºè
ã®ç掻ã®äžã§ã圌ã¯åã³ã®ããã«ã³ãŒããæžããšãããããŸãã ãããããŒã ãããžã§ã¯ãã§ããããšããããã¯ãŒãããæžãå§ããã°ããã®ãããžã§ã¯ãã®ããŒã ã¯ãŒã¯ã§ããããšã ããã¯ãååãšã®ã³ãŒãã®ç«¶åã«ã€ããŠå€ãã®ããšãèãããšã©ãŒãæ¢ãå¿
èŠããªãçŽ æŽãããç¬éã®1ã€ã§ãã ãããããããžã§ã¯ãã¯æé·ããŠãããåçã«åä»ããããèšèªïŒJavaScriptïŒã§ã³ãŒããèšè¿°ãããšãåãå«ãæ°ããæ©èœãšãã°ãçãèããŸãã
ãã®å Žåã®è§£æ±ºçã¯äœã§ããïŒ ãã¹ããæžãïŒ
ããããã³ã³ãã€ã«ã®æ®µéã§ãã·ã³ãäœãããŸãåŠçã§ãããã確èªããå¿
èŠãããããšãèªããªããã°ãªããŸããã éçåä»ãã䜿çšããèšèªã¯ãåãšã©ãŒã«é¢é£ããè¿œå ã®ãã¹ããäžå¿
èŠã«èšè¿°ããããšãé²ããŸãã ãããã£ãŠãã¿ã€ããç¡èŠããªãå ŽåãTypeScriptã«ã¯JavaScriptããã倧ããªå©ç¹ããããŸãã
ç°¡åãªäŸãèŠãŠã¿ãŸãããã
2ã€ã®æ°å€ãè¿œå ã§ããé¢æ°ããããŸãã
function sum(a, b) { return a + b; }
顧客ã¯ããŠãŒã¶ãŒãè¿œå ãããçªå·ãå
¥åã§ããWebãã©ãŒã ãå®è£
ããããšãææ¡ããŸããã
var result = sum( document.getElementById("input1").value, document.getElementById("input2").value, ) document.getElementById("result").innerText = result;
å
¥åãã£ãŒã«ãã«2ãš3ã®2ã€ã®æ°å€ãæžã蟌ã¿ãé¢æ°ã®åäœã確èªããŸãã
23
çµæã¯ãŸã£ããäºæ³å€ã§ããã åé¡ã¯ãhtml inputã¿ã°ã®valueãã£ãŒã«ãããstringãã¿ã€ãã®çµæãè¿ããJavaScriptããããã®æ°åãè¿œå ãã代ããã«2ã€ã®ã¹ããªã³ã°ã1ããšã2ããæ¥çããããšã§ãã
ãã¡ããããã®äŸã¯éåžžã«åçŽã§ãããå®éã®ãšã©ãŒã¯ããè€éã«ãªãå¯èœæ§ããããéçºæ®µéã§ãšã©ãŒã«æ°ä»ãããšã¯éåžžã«å°é£ã§ãã
ãã®åé¡ã®è§£æ±ºçã¯ãTypeScriptã䜿çšããŠéåžžã«ç°¡åã«è§£æ±ºã§ããŸãã
function sum(a: number, b: number): number { return a + b; } sum(2, 3);
ãã§ã«ã³ã³ãã€ã«æ®µéã§ããšã©ãŒãæ€åºããããšãã§ããŸããã ãšã©ãŒãæ€çŽ¢ããŠè¿œå ã®ãã¹ããäœæããããããéçºã«ãšãã«ã®ãŒãè²»ããæ¹ãè¯ãã§ãããã
ãããã«
TypeScriptéçºã®é·æãšçæãèãããšããçæã匷調ããã®ã¯ç°¡åã§ã¯ãããŸããã§ããã TypeScriptã¯ã倧èŠæš¡ãããžã§ã¯ãã§æ£åœåããã以äžã®ãã®ã§ãã ããã¯ãã¡ãœãããšã¯ã©ã¹ã«å ããŠããããã®å®£èšãèšè¿°ããå¿
èŠããããšããäºå®ã®ããã«ãJavaScriptã§ã®éçºããæéãããããšããäºå®ã«ãããã®ã§ãã ããã«ãããããããJavaScriptã«éââçåä»ãããªãéããTypeScriptã¯åªãã代æ¿æ段ã§ãã
PSãç§ã®èšäºã®ç®çã¯ãTypeScriptã®é·æãšçæãç解ããããšã§ããã ãããã£ãŠãã¡ãªããã«ã€ããŠã®ã³ã¡ã³ããæè¿ããŸãã