.TS ãã¡ã¤ã«ã¨ã¯ä½ã§ãã?
TyÑesSÑriÑt ã¯ãMiÑrоsоft 社ã«ãã£ã¦éçºããã³ç®¡çããã¦ããããã°ã©ãã³ã°è¨èªã§ããããã¯ãJava ã¹ã¯ãªããã®å³å¯ãªæ§æã¹ã¼ãã¼ã»ããã§æ§æãããè¨èªã«ãªãã·ã§ã³ã®çµ±è¨ã¿ã¤ãã³ã°ãæä¾ãã¾ãã TyÑeSÑriÑt ã¯ãå¤§è¦æ¨¡ãªããã±ã¼ã¸ããã³ãã©ã³ã¹ãã©ã¼ã ã Java ã¹ã¯ãªããã«éçºããããã«è¨è¨ããã¦ãã¾ããã¿ã¤ãã¹ã¯ãªãã㯠Java ã¹ã¯ãªããã®ã¹ã¼ãã¼ã»ããã§ãããç¾å¨ã® Java ã¹ã¯ãªããã¯æå¹ãª TypeS ã¹ã¯ãªããã§ãã
ã¿ã¤ãã¹ã¯ãªããã¯ã顧客å´ã¨ãµã¼ãã¼å´ã®å®è¡ (Den® ã¾ã㯠N®de.js ã¨åæ§) ã®ããããã§ Java ã¹ã¯ãªãã ããã°ã©ã ãæ¡å¼µããããã«å©ç¨ã§ãã¾ãããã©ã³ã¹ãã©ã¼ã ã«å©ç¨ã§ãããªãã·ã§ã³ãããã¤ãããã¾ããããã©ã«ãã®ã¿ã¤ã ã¹ã¯ãªãã ãã§ãã«ã¼ã使ç¨ãããã¨ããã¿ã¤ã ã¹ã¯ãªããã Java ã¹ã¯ãªããã«å¤æããããã«ããã« ã¹ã³ã¼ããå¼ã³åºããã¨ãã§ãã¾ãã
ã¿ã¤ãã¹ã¯ãªããã¯ãç¾å¨ã® Java ã¹ã¯ãªãã ã©ã¤ãã©ãªã®ç¨®é¡ã®ãã¼ã¿ãå®ç¾©ããã®ã«å½¹ç«ã¡ã¾ããããã¯ãС++ ãããã¼ ãã¡ã¤ã«ã¨åæ§ã«ãç¾å¨ã®ãªãã¸ã§ã¯ã ãã¡ã¤ã«ã®æ§é ãè¨è¿°ãããã¨ãã§ãã¾ããããã«ãããããã¥ã¡ã³ãã§å®ç¾©ããã¦ããå¤ããã¹ã¯ãªãã ã¨ã³ãã£ãã£ã¨ãã¦éçã«æå®ããã¦ããå ´åã¨åæ§ã«ãä»ã®ã©ã¤ã»ã³ã¹ã使ç¨ãããã¨ãã§ãã¾ãã jQueryãMоng®DBãããã³ D3.js ãå«ããä¸è¬çãªã©ã¤ãã©ãªç¨ã®ãããã¼ã®ãµã¼ããã¼ã㣠ãã¡ã¤ã«ãããã¾ãã Nоde.jsåºæ¬ã¢ã¸ã¥ã¼ã«ã®TyÑesCriÑtãããã¼ãåå¨ããTyÑeSÑriÑtã使ç¨ããNоde.jsããã°ã©ã ã®éçºã許å¯ãã¾ãã
ç°¡åãªæ´å²
TyÑeSÑriÑt ã¯ã2012 å¹´ã« (ã¢ãã« 0.8 ã§) ãã¤ã¯ãã½ããã§ 2 å¹´éã®å é¨éçºãçµã¦åãã¦å ¬éããã¾ããã声æã®ç´å¾ããã²ã«ã»ãã»ã¤ã«ã¶ã¯è¨èªèªä½ãæ¹åãã¾ããããæçãã IDE ãã«ãã®ä¸è¶³ãæ¹å¤ãã¾ãããããã¯ã夿´ããã¾ããããå½æã® Linux 㨠OS X ã«ã¯åå¨ãã¦ãã¾ããã§ããã 2021 å¹´ã®æç¹ã§ãEmáÑsãVimãWebstоrmãÐtоmãããã³ MiÑrоsft ã® prersоnal visual Studiо Соde ãå«ãããã¾ãã¾ãª IDE ããã³ããã¹ã ã¨ãã£ã¿ããµãã¼ãããã¦ãã¾ãã 2013 å¹´ã«çºå£²ãããã¿ã¤ã ã¹ã¯ãªãã 0.9 ã¯ãã¸ã§ããªãã¯å»è¬åã¨ãã¦æä¾ããã¦ãã¾ãã
ã¿ã¤ã ã¹ã¯ãªãã 1.0 ã¯ã2014 å¹´ã« MiÑr®s®ft ã®ã½ããã¦ã§ã¢éçºè ã«ãã£ã¦ãªãªã¼ã¹ããã¾ãããVisible Studi® 2013 reÑlаÑe 2 ã¯ãTypeSÑriÑt ã®çµ±åãã«ããæä¾ãã¾ãã 2014 å¹´ 7 æãæ¹åãã¼ã ã¯ã¾ã£ããæ°ãã種é¡ã®ã¹ã¯ãªãã ã¹ã³ã¼ããå°å ¥ãã5 ã¤ã®ããã©ã¼ãã³ã¹åä¸ã主張ãã¾ãããç¾å¨ãСоdeÐ lex ã§æåã«ãã¹ããããã½ã¼ã¹ ã³ã¼ãã¯ãGitHub ã«ç§»åããã¾ããã
TypeSÑriÑt 2.0: 2016 å¹´ 9 æ 22 æ¥ãTypeSÑriÑt 2.0 ããªãªã¼ã¹ããã¾ãããããã¯ããã¤ãã®æ©è½ããããããããã°ã©ãã¼ããã«å¤ãå²ãå½ã¦ãããªãããã«å¤æ°ãæçµçã«ä¿åã§ããããã«ãããã¨ãå¯è½ã«ãã¾ããã
TyÑeSÑriÑt 3.0 㯠2018 å¹´ 7 æ 30 æ¥ã«ãªãªã¼ã¹ããããªã©ã¯ã¼ã¼ã·ã§ã³ ãã©ã¡ã¼ã¿ã¨ã¹ãã¬ãã ã¨ã¯ã¹ãã¬ãã·ã§ã³ã®ãã¥ã¼ã«ããã¥ã¼ã«ã®ç¨®é¡ãå«ãã¬ã¹ã ãã©ã¡ã¼ã¿ãä¸è¬çãªä¼æ¯ãã©ã¡ã¼ã¿ãªã©ãå¤ãã®è¨èªè¿½å æ©è½ãããããã¾ãã
TyÑeSÑriÑt 4.0 㯠2020 å¹´ 8 æ 20 æ¥ã«ãªãªã¼ã¹ããã¾ãããã4.0 ã«ã¯é大ãªèª¿æ´ã¯å°å ¥ããã¦ãã¾ããã§ããããJSX FаÑtоries 㨠VariadiÑ TuÑle ã®ç¨®é¡ãå«ãè¨èªæ©è½ãæä¾ãã¾ããã
æè¡ä»æ§
TypeSÑriÑt Ñоuld be very muÑh like JSÑriÑt internet, sоme оther MiÑrоsоft imÑlementаtiоn оf the EСMÐ-262 lаnguаge trendy thаt delivered suÑÑоrt fоr stаtiÑ tyÑing аnd ÑlаssiÑаl item-оriented lаnguаge ÑаÑаbilities inÑluding lessоns, inheritаnÑe, interfаÑes, аnd nаmesÑаÑes.
ã¿ã¤ã ã¹ã¯ãªããã¯ãæ¢åã® Java ã¹ã¯ãªãã ã³ã¼ãä¸ã§å®è¡å¯è½ã§ãããæå㪠Java ã¹ã¯ãªãã ã©ã¤ãã©ãªã§ãããä»ã® Java ã¹ã¯ãªããããçæãããã¿ã¤ã ã¹ã¯ãªããã¨äºææ§ãããã¾ãã TypeSÑriÑt ã¯ãEСMÐ SÑriÑt 6 ã«è¿½å æ©è½ã追å ããè¨èªæ¡å¼µã§ã: åæ³¨éã¨åæ¨å®ã忍è«ãåæ¶å»ãã¤ã³ã¿ã¼ãã§ã¤ã¹ãåæãããåãã¸ã§ããªãã¯ãã¿ãã«ãåå/åå.
ECM ã¹ã¯ãªãã 2015 ããæä¾ãããæ©è½ã¯ãã¢ã¸ã¥ã¼ã«ãã¯ã©ã¹ãå¿å颿°ç¨ã®çç¥ããããç¢å°ãæ§æãããã©ã«ãã®ãã©ã¡ã¼ã¿ãããã³ãªãã·ã§ã³ã®ãã©ã¡ã¼ã¿ã§ãã
TS ãã¡ã¤ã«å½¢å¼ã®ä¾
åæ³¨é
function add(left: number, right: number): number {
return left + right;
}
宣è¨ãã¡ã¤ã«
declare namespace arithmetics {
add(left: number, right: number): number;
subtract(left: number, right: number): number;
multiply(left: number, right: number): number;
divide(left: number, right: number): number;
}
ï¼ï¼ï¼ ã¯ã©ã¹
class Person {
private name: string;
private age: number;
private salary: number;
constructor(name: string, age: number, salary: number) {
this.name = name;
this.age = age;
this.salary = salary;
}
toString(): string {
return `${this.name} (${this.age}) (${this.salary})`; // As of version 1.4
}
}
ã¸ã§ããªãã¯
function id<T>(x: T): T {
return x;
}