ã2026幎çãTypeScriptã®å§ãæ¹ â åå®å šãªJavaScriptéçºã®ç¬¬äžæ©
TypeScriptã£ãŠããèããã©ãJavaScriptãšã©ãéãã®ïŒãããã䜿ãæå³ããã®ïŒ
äžçªã®éãã¯ãåããããããšã ããããšãã°JavaScriptã ãšå€æ°ã«æ°å€ãå ¥ããã€ãããæååã ã£ãâŠãªããŠãã°ãå®è¡ãããŸã§åãããªããã©ãTypeScriptãªãã³ãŒããæžããŠãæç¹ã§ãšãã£ã¿ããããåãéãããã£ãŠæããŠããããã ãVSCodeã®è£å®ãåçã«è³¢ããªããããéçºã¹ããŒããäžããã
ãžãïŒããããŸãã©ããã£ãŠã€ã³ã¹ããŒã«ããã®ïŒ
Node.jsãå ¥ã£ãŠããã°ãnpm install -g typescriptãã§OKã ããããã§tscã³ãã³ãã䜿ããããã«ãªãããããžã§ã¯ãããšã«å ¥ããããªããnpm install -D typescriptãã§devDependenciesã«è¿œå ããã®ãããããã ããã€ã³ã¹ããŒã«ããããnpx tsc --initãã§tsconfig.jsonãšããèšå®ãã¡ã€ã«ãçæãããã
tsconfig.jsonã£ãŠäœãèšå®ãããã¡ã€ã«ãªã®ïŒ
ã³ã³ãã€ã«ã®ã«ãŒã«ã決ãããã¡ã€ã«ã ããããšãã°ãstrictããtrueã«ãããšå³å¯ãªåãã§ãã¯ãæå¹ã«ãªããããtargetãã§ã©ã®ããŒãžã§ã³ã®JavaScriptã«å€æãããæå®ã§ãããæåã¯èªåçæããããã®ããã®ãŸãŸäœ¿ã£ãŠãæ £ããŠãããå°ããã€ã«ã¹ã¿ãã€ãºããŠããã®ãããã
åºæ¬çãªåã£ãŠã©ããªçš®é¡ãããã®ïŒ
åºæ¬ã¯ãstringïŒæååïŒããnumberïŒæ°å€ïŒããbooleanïŒçåœå€ïŒãã®3ã€ã ããé åã¯ãstring[]ãã®ããã«æžãããããããanyãã¯äœã§ãå ¥ãåã ãã©ãåãã§ãã¯ãå¹ããªããªãããæ¥µå䜿ããªãã®ãã³ãã ãã倿°å®£èšã¯ãlet name ã³ãã³ string = "ãã³ã®ã³"ãã®ããã«æžãã
interfaceãštype aliasã£ãŠããã®ãèŠããããã©ãäœãéãã®ïŒ
ã©ã¡ãããªããžã§ã¯ãã®åœ¢ãå®çŸ©ã§ãããã©ãinterfaceã¯ãextendsãã§ç¶æ¿ã§ããŠãååã§å®£èšãããšèªåçã«ããŒãžããããtype aliasã¯ããŠããªã³åïŒAãŸãã¯BïŒããã亀差åïŒAãã€BïŒãã衚çŸãããããå®åã§ã¯ãªããžã§ã¯ãã®åœ¢ãå®çŸ©ãããªãinterfaceããã以å€ã¯typeã䜿ãããŒã ãå€ãã
ãŠããªã³åã£ãŠãAãŸãã¯Bãã£ãŠããšïŒã©ããªãšãã«äŸ¿å©ãªã®ïŒ
ããšãã°APIã®ã¬ã¹ãã³ã¹ãæåãšå€±æã§æ§é ãéããšãããtype Result = Success ãŸã㯠Errorãã®ããã«æžãããTypeScriptã¯ifæã§åå²ãããšèªåçã«åãçµã蟌ãã§ããããåã¬ãŒãããšããä»çµã¿ããããããåå²åŸã¯æ£ããããããã£ã ããè£å®ãããããã«ãªããããããæ¬åœã«äŸ¿å©ãªãã
ãžã§ããªã¯ã¹ã£ãŠããã®ãé£ãããâŠã©ãããæå³ãªã®ïŒ
ãåãåŒæ°ã«ã§ããä»çµã¿ãã ããããšãã°é
åã®äžèº«ãæååãªã®ãæ°å€ãªã®ããåŸããæå®ã§ãããArray
æ¢åã®JavaScriptãããžã§ã¯ããTypeScriptã«ç§»è¡ããã®ã£ãŠå€§å€ããâŠ
å®ã¯äžæ°ã«ããå¿ èŠã¯ãªããã ãtsconfig.jsonã§ãallowJsããtrueã«ããã°ãJSãã¡ã€ã«ãšTSãã¡ã€ã«ãæ··åšãããããããŸãã¯.jsã.tsã«ãªããŒã ããŠããšã©ãŒãåºããšããã ãåãä»ããŠãããæ®µéçç§»è¡ããããããã ããReactãVueãAstroãªã©äž»èŠãã¬ãŒã ã¯ãŒã¯ã¯ãã¹ãŠTypeScriptããµããŒãããŠããããæ°èŠãã¡ã€ã«ããTSã§æžãå§ããã®ãã¢ãªã ã
ãã£ãšäžçŽè åãã®ãã¯ããã¯ã£ãŠããã®ïŒ
ããŠãŒãã£ãªãã£åãã¯ç¥ã£ãŠãããšäŸ¿å©ã ããPartial
ã³ã³ãã€ã«ãé ãã£ãŠèããããšãããã©ã察çã¯ããã®ïŒ
å€§èŠæš¡ãããžã§ã¯ãã ãštscãé ããªãããšã¯ããããæè¿ã¯esbuildãswcãšãã£ãé«éãªãã©ã³ã¹ãã€ã©ã§åãã§ãã¯ãªãã®å€æã ãè¡ããåãã§ãã¯ã¯å¥étscã§èµ°ãããã®ãäž»æµã ããViteããã®æ¹åŒãæ¡çšããŠããTypeScript 5.8以éã¯ã³ã³ãã€ã©èªäœãããªãé«éåãããŠãããããŸãã¯æ®éã«äœ¿ã£ãŠã¿ãŠé ããšæãããæ€èšãããããã§ããã