çããããã€ã¯ããœããã®TypeScriptããŒã ã¯ãæ¹èšããããã³ãããã¯ã«åãããŠWebãµã€ããå®å šã«åèããããšãèšç»ããŠããŸãã ããŒã ã¯ããµã€ãã®çŸåšã®æ¬ é¥ãšæ¹åãããããšã«ã€ããŠå€ãã®ç¬èªã®ã¢ã€ãã¢ãæã£ãŠããŸãããã¢ã€ãã¢ãææ¡ããããã«ä»ã®äººã«ããã¢ãéæŸããããšãæã£ãŠããŸãã
https://github.com/react-native-community/discussions-and-proposals/issues/64ã§ãReact NativeããŒã ããã®ãã®çš®ã®ãã£ã¹ã«ãã·ã§ã³ã«é©ãã圢åŒã確èªããŸãã
ãŠã§ããµã€ããããã¥ã¡ã³ãããªãœãŒã¹ãããã»ã¹ãéã³å Žãªã©ã§çºçããŠããåé¡ããšã«1ã€ã®ã³ã¡ã³ããä»ããŠè¿ä¿¡ããŠ
誰ãããã§ã«ããªãã®ã¢ã€ãã¢ãææ¡ããŠããã®ãèŠã€ããããçµµæåã®åå¿ã䜿ã£ãŠããã+1ããŠãã ãããéè€ããããã¯å€ã®è¿ä¿¡ã¯åé€ãããŸãã ãããã¯ã«ããã«è¿œå ãããå Žåã¯ãåé¡ãæ·»ä»ãããŠãããã©ããã確èªããããã«ãã£ãŒãããã¯ãæ®ããŠãã ããã
TypeScriptèšèªèªäœã«ã€ããŠã®è°è«ã«ãã®ã¹ã¬ããã䜿çšããªãã§ãã ããããã¹ãŠã®åé¡ãšåæ§ã«ãè¡åèŠç¯ã«æºæ ããŠãã ããã ç§ãã¡ã¯çãæ¹åãèŠãããšæã£ãŠããŸãã
ãã³ãã¬ãŒã-èªç±ã«ã³ããŒïŒããŒã¹ãããŠãã ãã
### [title]
[message]
Tags: `[tags]`
ç§ã®1ã€ïŒ
ä¿®æ£ãæ¹åã«è²¢ç®ãããã®ã§ãããèœåããªãã®ã§
ãªããžããªãéå
¬éã®ãšãã«ãããè¡ãã«ã¯
ã¿ã°ïŒ oss
æ°ãããŠãŒãã£ãªãã£ã¿ã€ãã¯ãèŠèœãšããããããã³ãããã¯ã®[ãŠãŒãã£ãªãã£ã¿ã€ã]ããŒãžã«è¿œå ãããªãã£ããããããšããããããŸãïŒäŸïŒ Parameters<T>
ïŒã ç§ã¯ãã°ãã°ãã³ãããã¯ã®ä»£ããã«lib.es5.d.ts
ãé²èŠ§ããããšã«é Œããªããã°ãªããŸããã
ã¿ã°ïŒ docs
https://typescript-play.js.orgã¯ãå ¬åŒã®ãã®ãããåªããŠããŸããTypeScriptã®è€æ°ã®ããŒãžã§ã³ãã«ããŒãããã倧ããªããã¹ããå ±æã§ãããã¹ãŠã®ã³ã³ãã€ã©ãã©ã°ããµããŒãããããã©ã«ãã§strictã¢ãŒãããªã³ã«ãªã£ãŠããŸãã
ã¿ã°ïŒ playground
const a: "foo" | "bar"
ãããªã³ãŒããæž¡ããå Žåããããå
±çšäœåãšåŒã¶ããšãç¥ããªããããããŸããã
ããã¯ããªãäœãããŒã§ãããååš/æ¡ä»¶ä»ã/ãããããã/ãªã©ã®ã¿ã€ãã«ã€ããŠè©±ãå§ãããšããããå®çŸ©ããããšããã ãã®ããŒãžã«ç§»åã§ããã®ã¯è¯ãããšã§ããã詳现ã«ææžåããªãã®ã§ãæŠèŠãç¥ãããšãã§ããŸããã®èšèªã®ãã¹ãŠã®åé¡æ³ã®
ã¿ã°ïŒ types
ã handbook
ããã¯ãæåã«ãšã³ãžãã¢ãªã³ã°ä»¥å€ã®äººã ïŒPMãéæè¡ãããŒãžã£ãŒãªã©ïŒã«TypeScriptã䜿çšããããšã®äŸ¡å€ã説åŸããããã«å¿ èŠã§ããã çµå±ç§ã¯ãããèªåã§æžããããå ¬åŒã奜ã
ã¿ã°ïŒ guides
TypeScriptãããžã§ã¯ãã¯ãããã«é¢ããããã¥ã¡ã³ããææããŠããå¿ èŠããããŸãã DefinitelyTypedã®ããã¥ã¡ã³ãã¯æ¬¡ã®å Žæã«ãããŸãã
TSããã¥ã¡ã³ãã«ã¯ããããäœã§ãããããªã䜿çšãããã®ãã«ã€ããŠã®æŠèŠãå«ãŸããŠããå¯èœæ§ããããå ¬åŒãµã€ããå»æ¢ããããšãã§ããŸã
ã¿ã°ïŒ definitely-typed
ïŒèªã¿ãããããããã«ç·šéïŒããã¥ã¡ã³ãã¯ãæå³ãããæ確ãªããã«ãœãããæã£ãŠããå Žåã«æãå¹æçã ãšæããŸãã ãããã®ããã¥ã¡ã³ããäœæããããšããES6ã¯ãŸã åé¡ã§ã¯ãããŸããã§ããã ãããã®ããã¥ã¡ã³ããäœæããããšããååŸã«ãã¹ãŠã®TSãåŠã¶ããšãã§ããŸããã
æãå€ãã£ãã
ç§ã¯react-typescript-cheatsheetbcãäœæããŸãããTSããã¥ã¡ã³ãã¯ães6ããã§ã«ç¥ã£ãŠããŠãé«åºŠãªTSãäžåºŠã«åŠã³ãããªã人ã«ã¯ç¹ã«åœ¹ç«ããªããšæããŸããã ãã®ãããTSãåããŠè©Šãçµéšè±ââå¯ãªJSéçºè ãå ·äœçã«ã¿ãŒã²ããã«ããŠããŸãã ç§ãã¡ãããããããŸãã çŸåšã®ããã¥ã¡ã³ãã¯ããã¯ã©ã¹ãšã¯äœãããŸãã¯ãã¿ã€ãæŒç®åã®ããã¥ã¡ã³ããšåãããŒãžã«ããæããããžã§ããªãã¯ã®æãã®ããããã§ãã
ç¹ã«ããã«ãé²æ©çãªæåž«ãšããŠåœ¹ç«ã€å¯èœæ§ã®ããèæ ®ãã¹ããã«ãœãã®éç¶²çŸ çãªãªã¹ãããããŸãã
ãããã¯ãã¹ãŠTSã®æ¡çšã®éçšã®æ®µéã§ãããããèšç»ããäœããã¹ããããããªãããã«äººã ãè±èœããããã¥ã¡ã³ãã«åŽããªãããšã確èªããå¿ èŠããããŸãã
ããã¥ã¡ã³ãã¯ã次ã®ãããªç¥è©±ãææããã®ã«åœ¹ç«ã€ãšæããŸãã
ãªãœãŒã¹ãå©çšå¯èœãªå Žåã¯ãç¹å®ã®å€§èŠæš¡ãªéçºã³ãã¥ããã£ãã¿ãŒã²ããã«ããŠããã®æ¡çšãæ¯æŽããããšãã§ããŸããããšãã°ãReactã ãã§ãªããVueãNodeãªã©ãã¿ãŒã²ããã«ã§ããŸãã ããã¯ã¡ã€ã³ããã¥ã¡ã³ãããè¡ãããšãã§ããŸããããšãã°ãVueããã¥ã¡ã³ãã§ã¯ãã³ã³ããã¹ãå ã®å®éã®äŸã«çŠç¹ãåœãŠãŠãã¯ãã¯ããã¯ãšã¬ã€ãã
ããã¯ãããããç§ãæ³åã§ããããã«ãåŸæ段éã®TSæ¡çšïŒã€ãŸããTSã§è²©å£²ããããã«ããå€ãã®ããã¥ã¡ã³ã/ããŒã«/ä¿èšŒ/ææã¡ãå¿ èŠãšãã人ã ïŒã«ãšã£ãŠå€§ããªããŒãã«ã§ãã
ã¿ã°ïŒ docs
ã¡ã€ã³ããŒãžã§çŽæ¥ããTypeScriptèšèªä»æ§ãã«ãªã³ã¯ããŠããŸãã
GitHubã§ä»æ§ãèªãããdocxãŸãã¯pdfãšããŠããŠã³ããŒãããŠãã ããã
ãã ãããã®ä»æ§ã¯å®å šã«å€ãïŒããŒãžã§ã³1.8ã§ã¹ã¿ãã¯ãæåŸã®å®éã®æŽæ°ã¯2016幎1æïŒãç¶æãããŠããŸããã ä»æ§ã«ã€ããŠã®èšåã¯ãã¹ãŠåé€ããã®ãæåã§ãã
ã¿ã°ïŒ spec
specification
outdated
䟿å©ãªããŒã«ãããããã€ã©ã€ããªã©ããã¹ãŠåãããéã³å Žã®ãããªãŠã£ãžã§ããã®ããã¥ã¡ã³ãã«ãããã¹ãŠã®ã³ãŒããµã³ãã«ãæ瀺ããŸãã
çæ³çã«ã¯ãå®å šãªéã³å Žã«é£ã³åºããŠãæŸåºãããJS /ã¿ã€ãã³ã°ãç·šéããã³ç¢ºèªããæ©èœãåããŠããŸãã
ããã¯åœç¶ãå ¬åŒã®TypeScript Playgroundã«äŸåããŸãã»ã©è¯ãã¯ãããŸããã
unknown
ãªã©ã®äžéšã®ã¿ã€ãã¯ããªãªãŒã¹ããŒãã«ã®ã¿èšèŒã
ã¿ã°ïŒ docs
/ tests / Cases / compilerã«ã¯éåžžã«å€ãã®ãã¡ã€ã«ããããããŒã¹ã©ã€ã³ãšãšãã«ãäžå¯è§£ãªæé»ç©è³ªã®ããã«åäœããŸãã ãããã®ã¡ã¬ãã€ãã¯ãdocs / demosãšããŠåå©çšã§ããŸãã
ããã¯ã誰ããèå³æ·±ãæ§æã®ã±ãŒã¹ã«URLãªã³ã¯ããããšãå¯èœã«ãã人ã ãä»ã®ãã¡ã³ããŒãªãã¹ããããããåããŠæåºããã®ãå©ããŸãã
ç解ããã®ãæ¬åœã«é£ããè€éãªTSæ§æã«åºãããããšã¯é£ãããããŸããã ãŠããªã³ãšãã¡ã³ããŒãªã€ã³ããã¯ã¹ä»ãã¿ã€ããä»ããŠçµã¿åããããååž°ãžã§ããªãã¯...ãã®ãããªæãããã ã«ãã®å€§ããªå·£ã®1ã€ã¯ãããšãã°ã¿ã€ãã³ã°ã§ãã
è§åºŠãè±å¯ãªæ§æã®ãã£ã³ã¯ã貌ãä»ããŠã人éãæ¶åã§ãã詳现ãªãã¥ãŒãŸãã¯å³ã芳å¯ã§ãããšãããã©ãã§ããããã A
ãã¯ã©ã¹ã§ããã B
ãå
±çšäœåã§ããã C
ãD
ãžã§ããªãã¯ãã©ã¡ãŒã¿ãŒã§ããããšã¯ééããããŸãããçã
ã
çŽ æŽãªãverboseASTpretty-printãããå§ããŠãããã¯æéãšã³ãã¥ããã£ã®è²¢ç®ãšãšãã«ãããæ·±ããã¿ãŒã³èªèãšãããè±ããªã€ã³ã¿ã©ã¯ãã£ããªããžã¥ã¢ã«ãšUMLã®ãããªå³ã®äž¡æ¹ã«æ¡å€§ããããšãã§ããŸãã
Reactããã¥ã¡ã³ãã®ããã«DocSearchã䜿çšãããªã©ãä¿¡é Œã§ããå¯äžã®æ å ±æºãšããŠã¡ã€ã³ããã¥ã¡ã³ãã䜿çšããã®ã§ã¯ãªããtypescriptã䜿çšããŠäœããè¡ãæ¹æ³ãã°ãŒã°ã«ã§æ€çŽ¢ããå¿ èŠãããããšããããããŸãã
ã¿ã°ïŒ search
ã exploration
ããã¯ã亀æµäŒãã³ãã¥ããã£ããŒã¯ãæ¬ãªã©ã§ãã
ãããã誰ããåŠã¶ããšãã§ããTypeScriptã䜿çšãããã倧ããªãœãããŠã§ã¢ãããžã§ã¯ããå¯èœã§ãã
ã¿ã°ïŒ Community
ããšãã°ã noImplicitReturns
ããªã³ã«ããå Žåãã©ã®ãããªåé¡ãçºçããã©ã®ããã«åŠçããã°ããã§ããïŒ ãããã®çš®é¡ã®æšå¥šäºé
ã¯ããããã®ãã©ã°ãå°å
¥ããããšãã®ããŒãžã§ã³ãªãªãŒã¹ããŒããšãšãã«åºè·ããããããæ€çŽ¢ããã®ã¯é£ããã§ãã
ã¿ã°ïŒ tsconfig
rustèšèªã¯ãããéå§ããã®ã«ããªãã®åŽåãèŠããŸãïŒTSã«ã¯æè¿1,000ãè¶ ãããšã©ãŒããããŸãïŒããtscã®ãšã©ãŒã¡ãã»ãŒãžã³ã°ã¯ââç°¡æœã§ããããµã€ãã«ãããã眮ããšãæ€çŽ¢ãšã³ãžã³ã§ã€ã³ããã¯ã¹ãäœæã§ããæ¹åå¯èœã§ããµã³ãã«ã³ãŒãã䜿çšã§ããŸãã
ã¿ã°ïŒ compiler
è§åºŠãè±å¯ãªæ§æã®ãã£ã³ã¯ã貌ãä»ããŠã人éãæ¶åã§ãã詳现ãªãã¥ãŒãŸãã¯å³ã芳å¯ã§ãããšãããã©ãã§ããããã
ããã¯ãã°ããããšæããŸãããå Žåã«ãã£ãŠã¯ãåãã©ã®ããã«å解ããããã«ã€ããŠã®é«åºŠã«æ§é åããã説æïŒèªåçæã¯ããçšåºŠå¯èœã«èãããŸãïŒã¯ãåãšãã¿ãŒã³ã®äžè¬çãªçµã¿åãããèªèããã»ã©æçšã§ã¯ãªããšæããŸããç¹å®ã®ç®æšã äŸãšããŠããããäœã§ãããã誰ãã«èª¬æããŠããããããšããŸãããã
type X<T extends object> = {
[K in keyof T]: T[K]
}[keyof T]
ç§ã¯ããªãã«ãããèšãããšãã§ããŸã
X
ã¯ãobject
å¶çŽãããŠãã1ã€ã®åãã©ã¡ãŒã¿ãŒT
ãæã€åãšã€ãªã¢ã¹ã§ããT
ã§ã€ã³ã¹ã¿ã³ã¹åããããšãããããããã¿ã€ããçæãããŸããããã§ãã¿ã€ãkeyof T
åæ§æèŠçŽK
ã«ã€ããŠãå€ã¯ã€ã³ããã¯ã¹ä»ãã¢ã¯ã»ã¹ã¿ã€ãT[K]
ã 次ã«ãX
ã¯ãã¿ã€ãkeyof T
ããã®ããããããã¿ã€ãã«ã€ã³ããã¯ã¹ä»ãã¢ã¯ã»ã¹ã¿ã€ããçæããŸãã
ããããTypeScriptã®å®çšçãªç¥èãæã£ã人é以å€ã®äººãäœæããããšã¯ãã¯ããã«åœ¹ç«ã¡ãŸãããéåžžã«å°é£ã§ãã
X
ã¯ãT
ã®ã¡ã³ããŒå€ã®ã¿ã€ãã®åéåãååŸããŸãã
ãã®ãããªãã¿ãŒã³ã®ãã¬ã·ãããéããŠãããšäŸ¿å©ãããããŸããã
Advanced TypesããŒãžã¯ãéèªæãªåã®äžçš®ã®ãŽãæšãŠå Žã§ãïŒ PHPéçåæããŒã«ã«é¢ããTypeScriptã®ã¢ã€ãã¢ãããããçãã ã®ã§ããã®ããŒãžã«ããããåºããããŸããïŒã
ããã«ããããããã®ã¢ã€ãã¢ã¯çžäºã«é¢é£ããŠããŸãããããã¯ããŒãžéã®ãã€ããŒãªã³ã¯ã§ããªãè¡ãããšãã§ããŸãã
Type Guard / Type Predicateã»ã¯ã·ã§ã³ã¯ãç¹ã«ç¬èªã®ããŒãžã«å€ããããã«æããŸãã
Typescriptã§æžãããã©ã€ãã©ãªãåºè·ããã®ã¯ãšãŠãç°¡åã§ã¯ãªãããšãããããŸããã ã¿ãŒã²ããã®æ¶è²»è ã«å¿ããŠèæ ®ãã¹ãå€ãã®ãšããžã±ãŒã¹ã ç§ã¯ããã«ã€ããŠå®å šã«è°è«ã®äœå°ãããç§èªèº«ã®æèŠãæã£ãŠããŸãããå³æžé€šã®èè ã®ããã®å ¬åŒã¬ã€ãã³ã¹ãææžåããããšã¯çŽ æŽãããã§ãããã
ã¿ã°ïŒ libraries
ã guidance
æºåž¯ãããŠã§ããµã€ãã®ãã³ãããã¯ãèªããªãã®ãæ®å¿µã§ãã ãŸãããã³ãããã¯ã®åããŒãžã®ããŒãžã®äžéšã«å/次ã®ããã²ãŒã·ã§ã³ããããšäŸ¿å©ã§ãã
ãã€ãŒããã
ã¿ã°ïŒ nav
çŸåšã®äŸã®ããã€ãã¯ãæåããŒã¹ã®åœåèŠåïŒAãBãCïŒãŸãã¯é¢é£æ§ã®ãªãçšèªïŒfooãbarãbazãargsãobjãªã©ïŒã䜿çšããŠãé床ã«äžè¬çãŸãã¯æœè±¡çã§ãã ããå€ãã®å®éã®äŸïŒåœ¢ç¶ãåç©ã補åããŠãŒã¶ãŒïŒãšæ£åœãªãŠãŒã¹ã±ãŒã¹ïŒAPIåŒã³åºãããã®ã³ã°ããšã©ãŒåŠçãããŒã¿ãã©ãŒãããïŒãèŠãããšæã£ãŠããŸãã ããã¯ããžã§ããªãã¯ã¹ãã¢ããã³ã¹ãã¿ã€ããªã©ããã§ã«æœè±¡åãããŠããæŠå¿µã«ç¹ã«åœ¹ç«ã¡ãŸãã
泚ïŒããã¥ã¡ã³ãã®äžéšã®é åã§ã¯ãã§ã«ãã®åé¡ãåŠçãããŠããŸãðð»ã§ãããããããšãã¹ããããŸãã
ã¿ã°ïŒ examples
ããŸããŸãªçš®é¡ã®é¢æ°ãå ¥åããæ¹æ³ã瀺ããŸãã lodashã®ããã«ãããã¯ããšã¯ã¹ãã³ãããã©ããåãªã©ãããããçš®é¡ã®åã£ãæ©èœããããŸãããããã®å ¥åæ¹æ³ã説æããŠãã ããã
åŸã ã«è€éããå¢ããŠããã©ã€ãã©ãªã TSã®ç¹å®ã®ãã®ãæ¬çªç°å¢ã§ã©ã®ããã«äœ¿çšãããŠãããã瀺ãã³ããããžã®ãªã³ã¯ãããã«èªãããšãã§ããŸãã
æçµçã«æ§ç¯ããããã®ãäœã§ããã誰ããäŸãè¿œå ããã®ãéåžžã«ç°¡åã§ããããšãé¡ã£ãŠããŸãã gitrepoã®ãããªTSãã³ãããã¯ã«ãªããšæããŸãã
æé«ã®ãªãŒãã³ãœãŒã¹ãããžã§ã¯ãã¯éåžžãæé«ã®ããã¥ã¡ã³ããšæ°ãããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãåããŠããŸãã
TSãæ°ãããŠãŒã¶ãŒã«ãšã£ãŠããã«æè¿ããããã«ããŸãããã
[ã³ã³ãã€ã©ãªãã·ã§ã³]ããŒãžã®çŸåšã®èª¬æ
target
ã module
ã lib
ã®ããã«ãããã€ãã®ãªãã·ã§ã³ã¯äºãã«å¯æ¥ã«é¢é£ããŠããŸãã ããããå¥ã
ã«èŠããšãããããããç解ããã®ã¯é£ããã§ãã æåã«target
ãç解ããªããšã lib
ãªãã·ã§ã³ãç解ã§ããŸãããtsc
ãªãã·ã§ã³ãšããŠã§ã¯ãªã䜿çšãããããçŸåšã®åœ¢åŒã¯åå¿è
ã«ãšã£ãŠæ··ä¹±ãæãå¯èœæ§ããããŸãã@types
ã typeRoots
ã types
ãªãã·ã§ã³ã¯tsconfig.jsonããŒãžã§èª¬æãããŠããã baseUrl
ãšpaths
ã¢ãžã¥ãŒã«è§£å床ã®paths
ããã¯ãç¹å®ã®ã³ã³ãã€ã©ãã©ã°ã®ææ¡
ç·šéïŒ
è€åãããžã§ã¯ãã®æ§ç¯ã«é¢é£ãããªãã·ã§ã³ã®ãããªæ°ãããªãã·ã§ã³ã¯èšããŸã§ããããŸãããããã¥ã¡ã³ãã«ã¯æ
å ±ããªãããªãªãŒã¹ããŒããšGitHubã®åé¡ã«åºã¥ããŠå
šäœåããŸãšããããšãäœåãªããããŠããŸãã
ã¿ã°ïŒ tsconfig
TypeScriptã«é¢ãããã¹ãŠã®å
¬åŒãªãœãŒã¹ïŒäŸïŒ www.typescriptlang.org
ïŒã1ãæã«éããããšãã§ããã°çŽ æŽãããã§ãããïŒ ð
ããšãã°ãv3.5ã®çºè¡šã«é¢ããããã°æçš¿ã¯å¥ã®å ŽæïŒ devblogs.microsoft.com
ïŒã«ãããŸãã
https://devblogs.microsoft.com/typescript/announcing-typescript-3-5/
ãããŠãv3.4ãªãªãŒã¹ããŒãã¯å¥ã®å Žæã«ãããŸãïŒ
https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-4.html
ããã¯TypeScriptéçºè ã«ãšã£ãŠããŸã圹ã«ç«ãããæ··ä¹±ãæããã®ã§ã¯ãªããšæããŸãã ð
ã¿ã°ïŒ blog
ã resources
ããã¥ã¡ã³ãã«ãã¿ãŒã²ããç°å¢ïŒãã©ãŠã¶ãŒãnodeJSïŒããŠãŒã¶ãŒèšå®ïŒãŠââãŒã¶ãŒãæãããã«å³å¯ãŸãã¯å¯å€§ïŒãããã³ãããžã§ã¯ããã£ã¬ã¯ããªæ§é ã«é©ããtsconfig.jsonã®çæã«åœ¹ç«ã€ãã©ãŒã /ãŠã£ã¶ãŒããå«ãŸããŠãããšäŸ¿å©ã§ãã çŸåšã TSã³ã³ãã€ã©ãªãã·ã§ã³ã«ã¯ããã€ãã®éæšå¥šãªãã·ã§ã³ãšããã€ãã®ã³ã³ãã€ã©ãã©ã°ãå«ãŸããŠãããäžèŠãããšã»ãšãã©åãããšãããããã«èŠããŸãïŒããšãã°ããã¹/ãã£ã¬ã¯ããª/ã«ãŒãã«é¢é£ããããã€ãã®ãªãã·ã§ã³ã®éãã¯äœã§ããïŒã çæãããtsconfigã¯ãMicrosoftTypeScriptã³ã¢ããŒã ã®ãã¹ããã©ã¯ãã£ã¹ã«æºæ ããŠããå¿ èŠããããŸãã ãã®ä»ã®ã¬ã€ããšãªã質åã«ã¯ã次ã®ãã®ããããŸãã
strictNullChecks
ãªã©ã®ããã€ãã®å³å¯ãªæ©èœã䜿çšããæ¹ãç°¡åãªå ŽåãããããããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã«ãã£ãŠã¯æšå¥šãããå ŽåããããŸãïŒã¿ã°ïŒ tsconfig
ã examples
ã guides
ã wizard
ã exploration
@ortaã¢ãã€ã«çã®éã³å Žãäœãããå°ãªããšãçŸåšã®ãã®ãé©å¿ãããã®ã¯çŽ æŽãããããšã ãšæããŸãã ä»ã®ãšãããéã³å Žã¯ã¢ãã€ã«ã§ã¯ã²ã©ãããã«èŠããŸãïŒã¹ã¯ãªãŒã³ã·ã§ããã¯iPhone7ã§äœæãããŠããŸãïŒã
ãŠã§ããµã€ãã®ããã³ãããã¯ããšãªã¢ã«ããªããžã§ã¯ããªãã©ã«ãšããããå ¥åããããŸããŸãªæ¹æ³ã«ã€ããŠå ·äœçã«èª¬æããã»ã¯ã·ã§ã³ãããã°ããã®ã«ãšæããŸãã
ããšãã°ããä»»æã®ããããã£ãæã€typescriptãªããžã§ã¯ããªãã©ã«ããã1ã€ã®å¿ é ããããã£ãšãã®ä»ã®ããããã£ãæã€typescriptãªããžã§ã¯ããªãã©ã«ãã®ãããªãã®ãåžžã«Googleã§æ€çŽ¢ããå¿ èŠããããŸãã
ãããŠãç§ã¯åžžã«{ [key: string]: any }
ã¿ã€ããæ€çŽ¢ããå¿
èŠããããŸãããããã¯å®éã«ã¯ã©ãã§ãè°è«ãããŠããŸããã
ãã®ãããªãã®ã®ããã€ãã¯ãã€ã³ã¿ãŒãã§ãŒã¹ãã§è©±ãããŠããŸãããããã¯ããã«ã¯æããã§ã¯ãããŸããã
DefinitelyTypedã¿ã€ããŸãã¯ä»ã®ãã³ããŒã¢ãžã¥ãŒã«å®çŸ©ãæäœãããšãã«ãå®çŸ©ã次ã®ããããã«åŸ®èª¿æŽããå¿ èŠãããããšã«æ°ä»ãããšããããŸãã
1ïŒæ¢åã®å®çŸ©ãäžæžã/å€æŽãã
2ïŒæ°ããã¡ãœãã/ããããã£ãè¿œå ããŸã
ããŸããŸãªã·ããªãªã§ã¿ã¹ã¯ãå®è¡ããããã®é©åãªæ¹æ³ã«é¢ããããã¥ã¡ã³ããèŠã€ããããšãã§ããŸããã§ããã èªåã§ããå¿ èŠããããšãããè¯ãã¡ã¢ããšã£ãŠããŸããðã https://www.typescriptlang.org/docs/handbook/declaration-merging.htmlã¯ããã¡ãŒã¹ãããŒãã£ã³ãŒãã®åé¡ã«åãçµãã§ããŸããããµãŒãããŒãã£ã®ã¢ãžã¥ãŒã«ã¿ã€ã/ãšã¯ã¹ããŒãã«å¯ŸããŠãã®ã¢ããã€ã¹ãæ©èœããããã«ã¯ããŠããŸããã
æããã«ãPRãããã«éããŠã察å¿ãããªããžããªã®ã¿ã€ããä¿®æ£/æŽæ°ããã®ã¯çŽ æŽãããããšã§ããããã¹ã¿ãŒãã©ã³ãã«ããŒãžããããŸã§ã«æéããããããšããããã¯ãŒã¯ãããŒãäžæãããäžæçãªany
å€æãšãã©ããŒã¢ããTODOã
ã¿ã°ïŒ vendor
wikiã«ã¯ãã³ã³ãã€ã©APIïŒhttps://github.com/microsoft/TypeScript/wiki/Using-the-Compiler-APIïŒã®äœ¿çšã«é¢ããæ å ±ãããã€ããããŸãããç¹å®ã®ç®æšãéæããããã«ããã䜿çšããæ¹æ³ã®äŸã®ã¿ã瀺ããŠããŸãã ååšããç¹å®ã®ãªããžã§ã¯ããšã¡ãœããããªã¹ãããããããäœãããã®ããåŠã¶ããã«ãããå€ãã®JSDocã¹ã¿ã€ã«æ å ±ãããã°çŽ æŽããããšæããŸãã ä»ãç§ã¯APIãåŠãŒããšããŠããŸãããäœãèµ·ãã£ãŠããã®ããç解ããããã«typescriptãœãŒã¹ã調ã¹ãå¿ èŠããããŸãã
ïŒwikiã«èšèŒãããŠããããã«APIããŸã å®å®ããŠããªããšããçç±ã ãã§ãããè¡ãããŠããªãå Žåã¯ãç¡èŠããŠãã ããïŒ
ã¿ã°ïŒ compiler
å€ãã®äººã2çªç®ïŒãŸãã¯ãã以äžïŒã®èšèªãšããŠTypeScriptãå©çšããŠããŸãã TypeScriptã®åŠç¿ãç°¡çŽ åãã1ã€ã®æ¹æ³ã¯ãTypeScriptãæ¢ã«ç¥ã£ãŠããæ¢åã®èšèªãšæ¯èŒããããšã§ãã JSãJavaãCïŒãPHPãCïŒ+ CPPïŒãRubyãªã©ã人æ°ã®ããäžäœã®ããã°ã©ãã³ã°èšèªãåãäžããããšãã§ããŸãã次ã«ããã®èšèªãã©ã®ããã«æ©èœãããã«ã€ããŠã®ç¥èãããããšãåæãšãããã¥ãŒããªã¢ã«ãæ瀺ããŸããã
ä»ã®ãšãããç§ãã¡ã¯ããªããJSãç¥ã£ãŠãããšããä»®å®ã ããããŠããŸãã
ã¿ã°ïŒ tutorials
Accessibilityinsights.ioã®ãããªãªã³ã¿ãŒãåæ Œããããšã確èªããŸã
ã¿ã°ïŒ infra
TypeScriptãã¬ã€ã°ã©ãŠã³ãã®ãå ±æããã¿ã³ããœãŒã¹ã³ãŒãå šäœãURLã«ãã³ãããã®ã§ã¯ãªããçãURLãçæããã®ã¯çŽ æŽãããããšã§ãã
ãŸãã¯ãéã³å Žã«é
眮ããgithubã®èŠç¹IDãURLã«å«ããããšãèš±å¯ããŸãã äŸïŒ https://www.typescriptlang.org/play?gist=eb25a1f350e50d6ed3561a777fbfe424
ã¿ã°ïŒ playground
TSã³ãŒãããŒã¹ãæ§æããæ¹æ³ãšãããŸããŸãªã³ãŒãããŒã¹ã«å¯ŸããŠã©ã®ãããªäŸã«åŸãããšãã§ããããç¥ãã®ã¯é£ãããšæããã®ã§ã httpsïŒ//github.com/microsoft/TypeScriptSamples/ã®ãããªäŸã®ãªã¹ããWebãµã€ãã«æ²èŒããããšäŸ¿å©ã§ãã tsconfig.json
ãæ§æããæ¹æ³ãšãæå³ãããšããã«æ©èœããããã«TSãã¡ã€ã«ãæ§é åããæ¹æ³ã瀺ããŸãã
ã¿ã°ïŒ docs
ã examples
ãŠã£ãã®this
ã®
ãã³ãããã¯Â§é«åºŠãªã¿ã€ãã®ãããªå·šå€§ãªãããã¯ã¯ãå¥ã ã®ã¿ã€ãã«éã®ããã²ãŒã·ã§ã³ã貧匱ã§ãäžãžã®ãã¿ã³ããããŸããã ãããŒãã£ã³ã°ããã²ãŒã·ã§ã³ã¡ãã¥ãŒãè¿œå ãããšæ¬åœã«ããã§ãããã çŸåšãããã¿ã€ãã«ããå¥ã®ã¿ã€ãã«ã«ãžã£ã³ãããããå¿ èŠãªã¿ã€ãã«ããã°ããèŠã€ãããããããšã¯å°é£ã§ãã
ããã¯ããã®Assembly Scriptgitããã¯ã«èšèŒãããŠããããã²ãŒã·ã§ã³ã®è¯ãäŸã§ããhttps ïŒ
ã¿ã°ïŒ website
ã handbook
ã navigation
ç§ãç解ããŠããããã«ãæ§æã®åŒ·èª¿è¡šç€ºãä»ã®ãã¹ãŠã®IDEæ©èœã䜿çšããã¢ãã€ã«ãã¬ã³ããªãŒãªã³ãŒãç·šéã¯é¢åã§ãã
ããããç§ã¯èªåã®æºåž¯é»è©±ã§ããã¹ã¯ããã/ã©ãããããããé¢ããŠãã³ãŒãã¹ããããã§éãã§ã¿ãããšæãããšããããããŸãã
ã¢ãã€ã«çšã®ã·ã³ã¿ãã¯ã¹ãã€ã©ã€ãããããšãã£ã¿ãŒã®ä»£ããã«ããã¬ãŒã³ãª<textarea>
ãã£ãŒã«ããæ°ã«ããŸããã
ãšã©ãŒã¯ãå¥ã®ããŒãžããããã¢ããããŸãã¯ãã®ä»ã®htmlèŠçŽ ã«ããå¯èœæ§ããããŸãã
ã¿ã°ïŒéã³å Žãã¢ãã€ã«ãã³ãŒããšãã£ã¿ãŒ
.js
æ¡åŒµæ©èœãè¿œå ããããã¥ã¡ã³ãTypeScriptãå®å
šã«äœ¿çšããŠãã€ã³ããŒãã®ååã«.js
æ¡åŒµåãè¿œå ããã ãã§ããã©ãŠã¶ãŒã§æ©èœãães6ã¢ãžã¥ãŒã«ãçæã§ããããšã«ã€ããŠã¯ã©ãã«ãèšåãããŠããŸããã ãã®æ
å ±ãååšãããšæãããå¯äžã®å Žæã¯ããã®ã¹ã¬ããã§ãã
https://github.com/Microsoft/TypeScript/issues/16577#issuecomment -343610106
TSã®ã©ã®ããŒãžã§ã³ããããè¿œå ãããã¯ããããŸãããããã/file.jsããªã©ã®ã€ã³ããŒããæ©èœããããã«ãªããŸããïŒãã¡ã€ã«ãå®éã«file.tsã§ãã£ãŠãïŒã
ç§ã«ãšã£ãŠããã¯å€§èŠæš¡ãªæ©èœã§ãã...ããããå ¬åŒã«ã¯ååšããŸãããïŒïŒ
Omit<T, K>
ã¿ã€ãã¯å«ãŸããŠããŸãããOmit<T, K>
ã¯æè¿TypeScript 3.5ã§AdvancedTypes]ããŒãžã«ã¯ãŸã 次ã®å
責äºé
ããããŸãã
泚ïŒExcludeã¿ã€ãã¯ãããã§ææ¡ãããŠããDiffã¿ã€ãã®é©åãªå®è£ ã§ãã å·®åãå®çŸ©ããæ¢åã®ã³ãŒããå£ããªãããã«ãExcludeãšããååã䜿çšããŸãããããã«ããã®ååã¯åã®ã»ãã³ãã£ã¯ã¹ãããããäŒããŠãããšæããŠããŸãã çç¥ã¯å«ãŸããŠããŸãã
ç°¡åã«PickãšæžãããŠããã®ã§ã¿ã€ãããŸã >ã
ãããžã§ã¯ãã®ã»ããã¢ããã®äžéšãšããŠãLinterã䜿çšããŠã»ããã¢ããããæ¹æ³ãå«ããŸããã»ãšãã©ã®å Žåããããžã§ã¯ããããèªäœã䜿çšããããšã«ãªã£ãŠããtypescript-eslintã ãã§ãã
ã¿ã°ïŒ linter
TypeScriptãåããŠåŠç¿ãããšãã¯ãTypeScriptã§ãµããŒããããªã+ãµããŒããããªãç¹å®ã®ãã¿ãŒã³ããããŸãã æãåçŽãªãã®ã®1ã€ïŒ
const buildResult = (name?: string) => {
const result = {};
if (name) {
result.name = name; // error, this property doesn't exist on {}
}
return result;
};
ç§ã¯TypeScriptãäŒç€Ÿã«çŽ¹ä»ãå§ããŸãããããã®ãããªã±ãŒã¹ãé »ç¹ã«çºçããã®ã§ãFAQ /ãã©ãã«ã·ã¥ãŒãã£ã³ã°ã¹ã¿ã€ã«ã®ã¬ã€ãã§ããããææžåãå§ããŸããã ããã¯æ¥éã«æé·ããŠããŸãïŒããã¯å€§ãŸããªç¶æ ã§ããããšã«æ³šæããŠãã ããïŒïŒ
äžåºŠã«1ã€ã®ããããã£ã§ãªããžã§ã¯ããæ§ç¯ããŸã
å¿
èŠãªãšãã«ãšã©ãŒãçºçããªãçç±ïŒéå°ãªããããã£ãã§ãã¯
ãŠããªã³ãããªã©ããªãã·ã§ã³ã®ããããã£ã«ã¢ã¯ã»ã¹ããæ¹æ³
Object.keysãšObject.entriesãããªããæãããšãããªãçç±
ãã£ã«ã¿ãŒãã£ã«ã¿ãŒãäœæãããšã©ãŒãªãã§äœæ¥ãåæžããŸã
ã¿ã€ãã®æ¹è¯ã倱ãããŠãã
ãã®æ å ±ã®ãããããããã¥ã¡ã³ãã«ããå Žåãç§ã¯ãããèŠã€ããããšãã§ããŸããã§ããã ç§ã¯ããããäœå¹Žã«ããããè©Šè¡é¯èª€ãéããŠç解ããGithubã§æããªã³ã¯ãããŠããåé¡ãèªãã§ããŸãã
ã¿ã°ïŒ errors
ã troubleshooting
ã limitations
åãå«ãŸãã @types/*
ããã±ãŒãžãå©çšã§ããªãã©ã€ãã©ãªãããã€ããããŸãã ãããžã§ã¯ãå
ã§ãããã®ç¬èªã®å®£èšãã¡ã€ã«ãèšè¿°ã§ããããã«ãããã®ã§ãããããããèšè¿°ããŠtypescriptã§èªèãããããã®ãæ£ãããæ¹æ³ã«é¢ããããã¥ã¡ã³ãããªãããã§ãã npmããã¢ãžã¥ãŒã«ãã€ã³ããŒãããŠãããšããŸãããã declare module x
ã䜿çšããå¿
èŠããããŸããïŒ ãŸãã¯declare module "x"
ïŒ ãŸãã¯åå空éã䜿çšããŸããïŒ ãŸãã¯åã«ã¿ã€ãããšã¯ã¹ããŒãããŸããïŒ ãããã®ãã¡ã€ã«ãé
眮ããå¿
èŠãããç¹å®ã®å Žæã¯ãããŸããïŒ ã©ã®æ§æãªãã·ã§ã³ãèšå®ããå¿
èŠããããŸããïŒ typeRoots
ïŒ types
ïŒ paths
ïŒ include
ïŒ ãŸãã¯äœïŒ -ãããŸã§ã«èŠã€ããã®ã¯ãçŽãããããšã©ãŒã¡ãã»ãŒãžã説æãäžååãªæ§æãªãã·ã§ã³ãå€ãSOã®è³ªåã ãã§ãã
ã¿ã°ïŒ docs
git
ãnpm
ãªã©ã®ææ°ã®åºæ¬çãªéçºããŒã«ã«ã¯ããªãã©ã€ã³ã®ããã¥ã¡ã³ã/ãªãã¡ã¬ã³ã¹ã«ã¢ã¯ã»ã¹ã§ããç¬èªã®ã³ãã³ãã®ãµãã»ããããããŸãã
$ git help ls-remote
$ npm help search
ãã®ãããªæ©èœãããã°ãããšæããŸãïŒTSã¯å°ãç°ãªããŸããïŒã
ããã«ãããsite / githubãªã©ãåç
§ããªããŠãã help
ãããªã³ãã³ãã䜿çšããŠããŒã«ã«ã§ããã¥ã¡ã³ããæ¢çŽ¢ã§ããŸãã
$ tsc help tsc # basic CLI arguments desc
$ tsc help config # opens up html page of the tsconfig.json docs
$ tsc help v3.5 # opens up html page changelog
$ tsc help enum # finds pages containing `enum` type and hints their names/opens them up
ã¿ã°ïŒ offline
ã search
ã cli
ã local
äŸã«ã¯ãããæ確ã«åºå¥ã§ããè²ãå¿ èŠã§ãã
ãããã©ãããã¹ããïŒ
const whomstve = (name: string) => name + 'is life'
çŸåšã®ç¶æ³ïŒ
const whomstve = (name: string) => name + 'is life'
å°ãéã¿ããããŸãããããã ãã§ãã
ããã«ã¡ã¯çãããç§ã¯å æãäžè¬çãªãµã€ãæ§é ãšå šäœçãªããã¥ã¡ã³ãã«ã€ããŠèããªããããã®åé¡ã«æ³šç®ããŠããŸããã ãã®åé¡ã解決ããã®ã§ãããã¥ã¡ã³ããã©ã®ããã«è¡šç€ºãããã«ã€ããŠããå°ãç解ã§ããŸããã
èªã¿ãããã®ããã«å°ãã·ã£ããã«ããªãããåå¿ã«åºã¥ããŠããããã¹ãŠã®ãã€ã³ãã調ã¹ãŠã¿ãŸãããã
ããã¯æ³šæãå¿ èŠã§ããããã¯ããªãªãŒã¹ããŒãã«äœãå«ãŸããŠããã®ããä»ã®ãšããããããªãããã§ãã
èšèªãšæ§æã«é¢ããŠã¯ãèšèªå šäœãèŠçŽããŠããæ°ãããã³ãããã¯ã§ãããä¿®æ£ãããæ¹åãããããšãæåŸ ããŠããŸãã æ®ãã®ããã¥ã¡ã³ãã«ã€ããŠã¯ãæ°ãããµã€ããããã®äžéšã§ã»ãšãã©ã®ã±ãŒã¹ãã«ããŒã§ãããšæããŸãããããã§ãWIPã§ã
ãããç§ã¯åæããŸããããã¯æ°ãããµã€ãã«ãšã£ãŠééããªãéèŠã§ãã
ä¿®çæžã¿ïŒ https://github.com/microsoft/TypeScript-website
æ°ããäœæ¥ã¯ãã¹ã¿ãŒãã©ã³ãããå€ããŸãããä»ã®ãšããå€ããµã€ãã¯äžããã¢ã¯ã»ã¹ã§ããPRãååŸããŠããŸãã TypeScriptãªããžããªããããã«ãåé¡ã移åããŠããã®ã§ããã¹ãŠã远跡ããæ¹ãç°¡åã§ãã
ä¿®çæžã¿ïŒ éšåçã«ç§ã¯å€ãã®PRãçµ±åããã³ãã¥ããã£ããææ°ã®ãã³ãããã¯ãå ¥æããŸããã ãããããã²ãŒã·ã§ã³ã«è¡šç€ºãããããšã確èªããã ãã§ãªãïŒWebæ€çŽ¢ã®ã¿ããã§ã¯ãªãïŒ
ç§ã¯é±æ«ã«ããã調æ»ãå§ããŸããïŒã³ã³ãã€ã©ãšWebãµã€ãããããã®ããã¥ã¡ã³ãã®åãåæããŒã¿ãœãŒã¹ãå ±æããããšãã©ã®ããã«ç¢ºèªã§ããŸããïŒãŸããããå€ãã®ã³ã³ããã¹ããæäŸããããã«Webãµã€ãããã®äžã«äœãæ§ç¯ã§ããŸããïŒ
ãããŸã§ã®æ¹åæ§ã®ããã€ãã®äŸïŒ
ä¿®çæžã¿ïŒ ç§ã¯ããããç§ãéã³å Žã«ããããšæã£ãŠããäžè¬çãªæ¹åãžã®ååããªè¶³ãããã ãšèããŠããŸãã ãã¬ã€ã°ã©ãŠã³ããçã«æé«ã®ç¶æ ã«ããããã«ããã¬ã€ã°ã©ãŠã³ããã©ã®ããã«èŠããã©ã®ããã«æããããã¹ããã«ã€ããŠãããé·æçãªèŠç¹ãæäŸããã¢ãã¯ã¢ããã®äŸãããã€ã玹ä»ããŸãã
ïŒ figmaã®æ¢çŽ¢ã«ã€ããŠã¯ã¯ãªãã¯ããŠãã ããïŒ
ä¿®æ£æžã¿ã以äžãåç §
ã³ã³ãã€ã©ãŒãåŠã³ãªãããç§ã¯èªåã§
[éã³å Žex1ãéã³å Žex2]
ããã¯ãæ°ãããã³ãããã¯ã§å¯ŸåŠããïŒ29288ã®äžéšãåŒçšããããšãç®çãšããŠããŸãïŒ New handbook
ãŸã§ã¹ã¯ããŒã«ïŒ
TypeScriptã®å¯Ÿè±¡èªè ãåºãããããã¹ãŠã®ãŠãŒã¶ãŒåãã®äžè¬çãªããã¥ã¡ã³ããäœæããããšã¯å°é£ã§ããçŸåšã®ãã³ãããã¯ã®é·æïŒããã³çæïŒã®1ã€ã¯ããã¹ãŠã®ãŠãŒã¶ãŒã«äžåºŠã«ãµãŒãã¹ãæäŸããããšããããšã§ãã TypeScriptãåŠã¶ãšãã«ããŸããŸãªæåŸ ãæ±ãéçºè ã®ã°ã«ãŒããããã€ããããããŸããŸãªæŠå¿µã®å ¬éã¬ãã«ã調æŽããå¿ èŠããããŸãã ãããèžãŸããŠãç§ãã¡ã®ç®æšã¯ããã³ãããã¯ã3ã€ã®ç°ãªãéšåã«ç·šæããããšã§ãã
- ã«ã¹ã¿ãã€ãºããã玹ä»ïŒã³ã¢ãã³ãããã¯ã®ã»ããã¢ããïŒ
- ã³ã¢ãã³ãããã¯ïŒèª°ãããããèªãïŒ
- ãªãã¡ã¬ã³ã¹ããŒãžïŒãã£ãŒããã€ã/ä»é²ã®ãããªãã®ïŒ
äºå®äžãããã€ãã®ç°ãªãåºçºç¹ããããåšå²ã®çæ ç³»ã«æ £ããããèšèªãæããããšããŸãã
ããã¯ã³ã¡ã³ãã®ãã¹ãŠã«å¯ŸåŠããŠããŸããïŒ ããããã»ãã®å§ãŸãã§ãã ç§ãæã£ãŠããçŸåšã®ãµã€ããããã¯ããªãåºç¯å²ã§ããããããã¯ç§ãèå³ãæã£ãŠããã¿ã€ãã®åé¡ã§ã
ç§ã¯çŸåšã®ãµã€ããããã®ã¯ãã¯ããã¯ãšã¬ã€ãã«ããã€ãã®å°å»ã¿ã«åãäœå°ãæ®ããŸãããã¯ãã¯ããã¯ã¯ãããå€ãã®ã³ãã¥ããã£ãµããŒãã奚å±ã§ãããã®ã§ãã
ç§ã¯æéããããŠãçŸåšTypeScriptWebãµã€ãã«ããçŸåšã®ã³ãŒããµã³ãã«ã®åé¡ãšæŽæ°ãéå§ããŸããã å ¬åŒããã¥ã¡ã³ãã«ãªãã€ã¬ã¯ãããããããã©ã¡ãã®ãµã³ãã«ãæ®ããŠããã»ãããããã¯ãŸã ããããŸããïŒããšãã°ããããžã§ã¯ããTypeScriptããã€ãã£ãã«ãµããŒãããŠããŠãç¬èªã®ããã¥ã¡ã³ããããå ŽåïŒ
äžèšãšåæ§ã«ããµã€ãã®ã¯ãã¯ããã¯ãšå®éã®ã¬ã€ãã®ã»ã¯ã·ã§ã³ã§ãããã«ããŒããã®ã«ååã ãšæããŸã
ãããã¡ã€ã³ãªããžããªããå®å šã«åé€ã§ãããã©ããã¯ããããŸããããæ°ãããµã€ãã§ã¯èšåãããŸããã
ããã¯çŸåšãæ°ãããã³ãããã¯ãµã€ãã«ãããŸãããæ°ãããµã€ãã«ã移æ€ããå¿ èŠããããŸãã ãŸãããã€ã©ã€ããšã€ã³ã©ã€ã³ãšã©ãŒã¡ãã»ãŒãžã³ã°ãæäŸããŸããããã¯ç§ãè奮ããŠããããšã§ãã
ãããçºçãããã©ããã¯å®ãã§ã¯ãããŸãããäžéšãTypeScriptã«ã¯å€ãã®ãšã©ãŒã³ãŒããããããããã¯ããªãå®æçã«å€æŽãããŠããŸãã å®å šã«æ©èœãããµã€ããšããã¥ã¡ã³ããã§ããããæ»ã£ãŠãã䟡å€ããããŸãããä»ã®ãšããã¯åŸåãã«ãªã£ãŠããŸãã
ãããŸã§ã®ãšãããæ°ãããã³ãããã¯ã¯ããã§è¯ãä»äºãããŠããŸãððŸ-ç§ãã¡ã¯ããããã®ããã«ä¿ã€ããšãç®æãããšãã§ããŸãã æ®ãã®ããã¥ã¡ã³ãã§ã¯ããã®ããã«èŠãããã®ããã¹ãŠå€æŽããŠã¿ãŸãã
æ°ãããµã€ãã«Microsoftãã¶ã€ã³ã·ã¹ãã ïŒfluidïŒã䜿çšããããšãæ€èšããŠããŸããã€ãŸããã¢ãã€ã«ãµããŒãïŒã¢ã¯ã»ã·ããªãã£ä»ãïŒã¯ãã»ãšãã©ç¡æã§ãæäŸãããã¯ãã§ãã
éã³å Žã®ããã«å°ãããªãããŒãªè€éãªãã®ãããã®ã§ãé»è©±ãµã€ãºã®ã¢ãã€ã«ã«ã¯ãã©ãŠãžã³ã°/æ¢çŽ¢ã®èãæ¹ãé©ããŠãããšæããŸãã ã ãããç§ã¯ãããèªã¿åãå°çšã®çµéšã«å°ãè¿ããšããã¢ãã¯ã¢ãããæã£ãŠããŸãïŒ
ç§ã¯ãããåãå ¥ããŠããŸãããtypescript CLIã¯å®éã«ã¯ã³ã³ãã€ã«ãšãã1ã€ã®ã³ãã³ãã«ãããŸããïŒãã®ããããµãã³ãã³ãã«é¢ãããã«ãã¯å¿ èŠãããŸããïŒ--initã¯ã¡ãã£ãšãããå£ããŸããïŒïŒ
ãããç§ã¯ééããªãã¿ã€ãããããŠã§ããµã€ããã¿ã€ãã¹ã¯ãªããã®ãŠã§ããµã€ãã«ããŒãžãããããã®ããã¥ã¡ã³ããçµ±åããããšãèšç»ããŠããŸãã ãããã®_ãã¹ãŠ_ããµã€ãã«äœããã©ããã¯ãŸã è°è«ã®äœå°ããããŸãã æ確ã«ã¿ã€ãããããªããžããªã«è²¢ç®ããå®éã®å®è£ ã®è©³çŽ°ãä¿æããã®ã«ã¯ããã€ãã®æ£åœãªçç±ããããŸãããé«ã¬ãã«ã®æŠèŠã¯ãµã€ãã«ååšã§ããŸãã
ããªãããŒãªãã®ã§ãããããã°/ãªãªãŒã¹ããŒãã«å¯Ÿããçãã¯ãŸã£ãããããŸããã ç§ãã¡ã¯ä»ã®ãã¹ãŠã®äººãšäžç·ã«ãã€ã¯ããœãã補åã®ããã°ã·ã¹ãã ã䜿çšããŠããŸãããããããã¹ãŠãWebãµã€ãèªäœã«ç§»åããã®ãè¯ãèããã©ããã¯ããããŸããã ç§ãã¡ã¯ãããæéã«è¿ã¥ããããšãã§ããŸãã
ç°¡åãªé¢ãšããŠãç§ã¯ééããªããã®çš®ã®æ
å ±ãwikiããåé€ããWebãµã€ãå
ïŒãµã€ãæ€çŽ¢ã§ã€ã³ããã¯ã¹ãäœæã§ããå ŽæïŒã«ã®ã¿æ®ããããšæããŸã-TypeScriptwikiã¯ç¹ã«è²¢ç®ããããã«æ®ããããšæããŸãTypeScriptããã³TypeScriptã³ã³ãã€ã©APIã®æäœïŒããšãã°ã import * as ts from âtypescriptâ
ã䜿çšããå ŽåããŸãã¯èšèªãµãŒããŒãã©ã°ã€ã³ãæ§ç¯ããå ŽåïŒ
ããã¯äžèšã«é¢é£ããŠããŸã-ãã®çš®ã®åé¡ã«é¢ããéåžžã«åºç¯ãªFAQããŒãžããããŸãããããã¯wikiã§çºèŠããã°ããã§ãïŒTSã䜿çšããŠãã3幎ïŒã
ãããããŒã¹ã©ã€ã³ãšããŠãåçãšãšãã«ã¡ã€ã³Webãµã€ãã«åã蟌ã¿å§ããããšãã§ããŸãã
ã¯ããåæããŸããããããšãïŒ
å šäœãšããŠããããã®å€ãã¯ç©æ¥µçã«èª¿æ»ãŸãã¯åãçµãã§ãããšæããŸããããã¥ã¡ã³ãã®äœæ¥ãç¶ããŠããã®ã§ããã£ãŒãããã¯ããåŸ ã¡ããŠããŸãã
çŽ æŽãããä»äºã«æè¬ããŸã@orta ïŒ
åå¥ã«äœæããã®ã§ã¯ãªããPlaygroundãšãã£ã¿ãŒã§VSCode tsconfigãšã¯ã¹ããªãšã³ã¹ãåçš/æ¹å/ã³ã©ãã¬ãŒã·ã§ã³ããã®ã¯ã©ãã§ããïŒ
Playgroundãããè¯ãããVSCodeã®æ¢åã®ãšã¯ã¹ããªãšã³ã¹ã¯ãã§ã«ååãŸãšãã§ãã
ã©ãããæå³ãããããããŸããã VS Codeã®ãªãŒãã³ã³ããªãŒãJSONã¹ããŒãæ©èœã®ããã«ïŒ JSONãšãã£ã¿ãŒã®éšåã§ãããè¡ãããšãèšç»ããŠããŸããããã©ãã«ä»ãã®GUIãšããŠã®ãã¹ãŠã®ãªãã·ã§ã³ã®æŠèŠã¯ããã¹ãŠã®ãªãã·ã§ã³ã確èªããŠéžæããããã®äŸ¿å©ãªæ¹æ³ã§ãã
@ortaæ°ãããã³ãããã¯ãå ¬åŒãã³ãããã¯ã«ãªããšãçŸåšã®ãã³ãããã¯ã®ã»ã¯ã·ã§ã³ãæãURLã¯å£ããŸããïŒ ãŸãã¯ãæ°ãããã³ãããã¯ã¯å¥ã®URLã«ãããŸããïŒ éå»æ°å¹Žéã«SOã®åçã«ãã³ãããã¯ã®ãªã³ã¯ã倧éã«å ¥ããŠããã®ã§ïŒä»ã®äººããããè¡ã£ããšç¢ºä¿¡ããŠããŸãïŒããã¹ãŠãå£ããå Žåã¯æ®å¿µã§ãã ïŒäžè¬çãªããã¥ã¡ã³ãã®ç§»è¡èšç»ã«ã€ããŠè©±ãããã®ããè¯ãåé¡ãå Žæã¯ãããŸããïŒïŒ
@orta @jcalzåãããšãäžæè°ã«æã£ãŠã
ã¯ããç§ã¯URIã
ãã³ãããã¯ã«æ°ããURLã«ãŒãã䜿çšãïŒããšãã°ã docs/handbook/x.html
ãªã/handbook/x.html
ïŒãå€ãããŒãžãã®ããããä»ããŠæãè¿ãåçã®ãã®ã«ãªãã€ã¬ã¯ãããå¯èœæ§ãé«ããšæããŸããããçš®ã
ãã®ãªããžããªã®ãã¹ãŠã®githubã©ãã«ã®æå³ãç¥ãããã®ã§ããã ãããã®ããã€ãã¯èªæã§ãããä»ã¯ããã§ã¯ãããŸããã
ããšãã°ããææ¡ãå¿ èŠãã¯ç§ã«ã¯ããããŸããã ãã¹ãŠã®ã©ãã«ã«ããã§ã«ããããã«é·ã説æãä»ãããšåœ¹ç«ã¡ãŸãã
ç§ã®ããŒã ã¯TypeScriptã«æ¯èŒçæ
£ããŠããªãããã tsconfig.json
ã¯é »ç¹ã«å€æŽãããŸããå€ãã®å Žåãç¹å®ã®ã³ã³ãã€ã©ãªãã·ã§ã³ã®ããã¥ã¡ã³ãã次ã®åœ¢åŒã§çŽ¹ä»ããããšæããŸãã
https://www.typescriptlang.org/docs/handbook/compiler-options.html#strict-null-checks
(or)
https://www.typescriptlang.org/docs/handbook/compiler-options.html#strictNullChecks
ãã®ãããªãªã³ã¯ã¯æ©èœããŸããããç§ã¯ããããæ©èœãããããšæããŸãã
çŸåšããã®ããŒãžã«è¡šç€ºãããå¯äžã®HTML IDã¯ïŒcompiler-optionsã§ããããã¯ãåºæ¬çã«äžçªäžã«ãããããããã»ã©äŸ¿å©ã§ã¯ãããŸããããã ããåãªãã·ã§ã³ã®IDãæã£ãŠãããšããŠãŒã¶ãŒãããŒãžã®ç®çã®éšåã
ã¿ã°ïŒ compiler
@ Tyler-ããŒãã£ãŒã¯ä»ãããä¿®æ£ããŸãã
@ ssalka-ãããæ°ããtsconfigããã¥ã¡ã³ãã«ããè¯ãåŒã³åºãã§ã
-
ãã®å·ãç· ãããããŸãããã³ãããã¯ãšæ°ãããµã€ãã«ããã«èžã¿èŸŒãã ããåãåæã§å°æ¥æ°ããå·ãåéããŸãð
Typescriptãã¬ã€ã°ã©ãŠã³ãïŒ
倢äžã«ãªã£ãŠãããããªæ°ãããŸããããããžã§ã¯ããä¿åããŠå
±æããããã®åçŽãªãå
±æããªãã·ã§ã³ãèŠã€ãããŸããïŒããšãã°ãgithubã®åé¡ã«è¿œå ããããïŒã
ããšã¯ã¹ããŒããã®äžã«ãã¹ãŠã®ãªã³ã¯ã衚瀺ãããŸããããå
±æãã¯è¡šç€ºãããŸããã
Typescriptãã¬ã€ã°ã©ãŠã³ãïŒ
倢äžã«ãªã£ãŠãããããªæ°ãããŸããããããžã§ã¯ããä¿åããŠå ±æããããã®åçŽãªãå ±æããªãã·ã§ã³ãèŠã€ãããŸããïŒããšãã°ãgithubã®åé¡ã«è¿œå ããããïŒã
ããšã¯ã¹ããŒããã®äžã«ãã¹ãŠã®ãªã³ã¯ã衚瀺ãããŸããããå ±æãã¯è¡šç€ºãããŸããã
æ°ãããµã€ãã¯æ¬åœã«çŽ æµã«èŠããŸãïŒ ããããç§ã¯ãã®ãªã¯ãšã¹ãïŒã³ã³ãã€ã©ãªãã·ã§ã³ã®ã¢ã³ã«ãŒãªã³ã¯ïŒãðã«å°éããªãã£ãããšã«æ°ã¥ããŸãã
察å¿ããã®ã¯æ¬åœã«ç°¡åãªãªã¯ãšã¹ãã§ãããåå¿è ã«ãšã£ãŠéåžžã«åœ¹ç«ã€ããã§ãã å°æ¥ã®ã¢ããããŒãã§ãããèŠãããšãé¡ã£ãŠããŸãïŒ
æãåèã«ãªãã³ã¡ã³ã
ããã¥ã¡ã³ãã®æ€çŽ¢ã¯ãããŸãã
Reactããã¥ã¡ã³ãã®ããã«DocSearchã䜿çšãããªã©ãä¿¡é Œã§ããå¯äžã®æ å ±æºãšããŠã¡ã€ã³ããã¥ã¡ã³ãã䜿çšããã®ã§ã¯ãªããtypescriptã䜿çšããŠäœããè¡ãæ¹æ³ãã°ãŒã°ã«ã§æ€çŽ¢ããå¿ èŠãããããšããããããŸãã
ã¿ã°ïŒ
search
ãexploration