TypeScriptãšJavaScriptã®éã â ã2æããæž¡ãåã«æ°ã¥ããïŒ
ææ°ã¯æ°å€ããšããçŽæã確ããã
ææ°ã«æååãæž¡ããããã©ããªãïŒ
ãã±ããã1æ150åã ãšããŸããææ°ã1æå¢ããã€ããã®é¢æ°ã§ããæž¡ãå€ãæååãªãéãçµæã«ãªãå ŽåããããŸãã
function addOne(quantity) {
return quantity + 1;
}
console.log(addOne(2)); // 3
console.log(addOne("2")); // "21"
JavaScriptã«ãå®è¡æã®åããããŸããããã§ã¯æååãš+ã®çµã¿åããã§é£çµãèµ·ãããŸããJavaScriptã«åããªãããšããæå³ã§ã¯ãããŸããã
æ°å€ãæž¡ãçŽæããTypeScriptã§æ€æ»
function addOne(quantity: number) {
return quantity + 1;
}
console.log(addOne(2));
console.log(addOne("2")); // åãšã©ãŒã«ãªãäŸ
ãã®2ã€ç®ã®åŒã³åºãã¯ããããŠééããŠããŸããæ°ããç·Žç¿çšãã©ã«ããŒã§TypeScriptãå°å ¥ãããã¡ã€ã«ãquantity.tsãšããŠä¿åããå Žåã®æ€æ»äŸã§ãã
npm init -y
npm install --save-dev typescript
åããã©ã«ããŒã«æ¬¡ã®tsconfig.jsonãäœãããã®ç·Žç¿ã§æ€æ»ãããã¡ã€ã«ãæç€ºããŸãã
{
"compilerOptions": {
"strict": true,
"noEmit": true
},
"files": ["quantity.ts"]
}
npx tsc --project tsconfig.json
stringãnumberãžæž¡ããªãããšããææãåºãã°ç®çã®ç¢ºèªãã§ããŠããŸãã2ã€ç®ãaddOne(3)ãžçŽããŠåå®è¡ãããšããã®äŸã®åãšã©ãŒã¯ãªããªããŸããnoEmitã¯JavaScriptãæžãåºããã«æ€æ»ããæå®ã§ãã--projectã§èªåã®èšå®ãæå®ãã芪ãã©ã«ããŒãªã©ã®èšå®ãšåãéããªãããã«ããŸãã
åãã§ãã¯ãéã£ãããšããå ¥åã¯ç¢ºããã
åæ³šéã¯éåžžJavaScriptãžã®å€æã§åãé€ãããŸããAPIãå ¥åãã©ãŒã ããå±ããããŒã¿ãæ°å€ãã©ããã¯ãå®è¡æã«ç¢ºèªããå¿ èŠããããŸããæ¬¡ã¯JavaScriptã§ã䜿ãããåãåã£ãå€ã®æ€æ»äŸã§ãã
function readQuantity(value) {
if (typeof value !== "number" ||
!Number.isInteger(value) || value < 1) {
throw new Error("ææ°ã¯1以äžã®æŽæ°ã«ããŠãã ãã");
}
return value;
}
console.log(readQuantity(2)); // 2
æåå"2"ãæ°å€ãžå€æãããã¯ããã©ãŒã ã®ä»æ§ã§æ±ºããŸããåãä»ããã°æéèšç®ã»æš©éã»ãã¹ãŠã®ãã°ãæ£ãããªãããšããä¿èšŒã¯ãããŸããã
æ¢åã®JavaScriptã¯ãå°ããã€ç§»ã
| 段é | 確èªããããš |
|---|---|
| .jsã®ãŸãŸæ€æ» | checkJsãJSDocã䜿ããå¿ èŠãªç¯å²ããå§ãã |
| .tsãžå€æŽ | åãšã©ãŒã»ã©ã€ãã©ãªã®åå®çŸ©ã»ãã«ãèšå®ãæŽãã |
| CIã«çµã¿èŸŒã | åãã§ãã¯ãšãã¹ããå¥ã ã«æåããã |
| å€éšå ¥åãåãã | å®è¡æã®æ€èšŒãšãšã©ãŒæã®ç»é¢ã確èªãã |
allowJsã§.jsãå«ããcheckJsã§æ€æ»ããæ¹æ³ããããŸããæ¹åã ãã§ç§»è¡å®äºãšã¯èšããŸãããesbuildãªã©ã®å€æã ãè¡ãéå ·ãšãtscã«ããåãã§ãã¯ãåºå¥ããŸããåå®çŸ©ã¯å梱ã®.d.tsã@typesãèªäœã®å®£èšã§è£ãå ŽåããããŸãããå®è£ ãå©çšããçãšã®äžèŽã確ãããŸãã
ãŸãåãç»é¢ããåŠã¶ãªãJavaScriptå ¥éãç°å¢ãšèšå®ããããããªãTypeScriptå ¥éãžã
åèè³æ
- TypeScript â Basics â éçæ€æ»ã»å泚éã®æ¶å»
- TypeScript â Migration â allowJsãšæ®µéçãªç§»è¡
- TypeScript â checkJs â .jsã®æ€æ»
- TypeScript â Type declarations â 忢±åå®çŸ©ãš@types
- esbuild â TypeScript â 倿ãšåãã§ãã¯ã®åºå¥
- MDN â Addition â æ°å€ã®å ç®ãšæååã®é£çµ