JavaScriptã®ã€ã³ããŒãã¢ãµãŒã·ã§ã³åãã§ãã¯ãæ¢æ±ãã¢ãžã¥ãŒã«åãæ€èšŒããã©ã³ã¿ã€ã ãšã©ãŒãé²ã匷åãªæ©èœã§ããã³ãŒãã®ä¿¡é Œæ§ãšä¿å®æ§ãé«ããæ¹æ³ãåŠã³ãŸãããã
JavaScriptã®ã€ã³ããŒãã¢ãµãŒã·ã§ã³åãã§ãã¯ïŒã¢ãžã¥ãŒã«ã®å®å šæ§ãä¿èšŒãã
çŸä»£ã®JavaScriptéçºã«ãããŠãã¢ãžã¥ãŒã«ã®å®å šæ§ãšæ£ããè§£éãä¿èšŒããããšã¯æãéèŠã§ãã JavaScriptã®åçãªæ§è³ªã¯ãã¢ãžã¥ãŒã«ãæåŸ éãã§ãªãå Žåã«äºæãã¬ã©ã³ã¿ã€ã ãšã©ãŒãåŒãèµ·ããããšããããŸãã ã€ã³ããŒãã¢ãµãŒã·ã§ã³ãç¹ã«åãã§ãã¯ã¯ãã¢ãžã¥ãŒã«ã®æåŸ ãããåãæç€ºçã«å®£èšããã¡ã«ããºã ãæäŸããJavaScriptãšã³ãžã³ãããŒãæã«ãã®æåŸ ãæ€èšŒã§ããããã«ããŸãã ãã®ããã¢ã¯ãã£ããªã¢ãããŒãã¯ãã³ãŒãã®ä¿¡é Œæ§ãšä¿å®æ§ãå€§å¹ ã«åäžãããŸãã
ã€ã³ããŒãã¢ãµãŒã·ã§ã³ãšã¯ïŒ
ã€ã³ããŒãã¢ãµãŒã·ã§ã³ã¯ãã¢ãžã¥ãŒã«ãã€ã³ããŒãããéã«JavaScriptãšã³ãžã³ã«è¿œå æ å ±ãæž¡ãããšãã§ããæ©èœã§ãã ãã®æ å ±ã¯ãã€ã³ããŒãæå ã§ããŒãšå€ã®ãã¢ãšããŠè¡šçŸãããŸãã ãããã®ã¢ãµãŒã·ã§ã³ã¯ãã¢ãžã¥ãŒã«ã®åäœã倿Žããããšãæå³ãããã®ã§ã¯ãªãããããã¢ãžã¥ãŒã«ãç¹å®ã®åºæºãæºãããŠããããšãæ€èšŒããããã®ãã®ã§ãã ããã«ãããéçºè ã¯ã¢ãžã¥ãŒã«ã®æ§é ãå 容ã«å¶çŽãæå®ã§ããã¢ãžã¥ãŒã«ãæ£ããè§£éãããããšãä¿èšŒããŸãã
äžè¬çãªæ§æã¯æ¬¡ã®ããã«ãªããŸãïŒ
import module from './module.json' assert { type: 'json' };
ããã§ã`assert { type: 'json' }` ãã€ã³ããŒãã¢ãµãŒã·ã§ã³ã§ãã ããã¯JavaScriptãšã³ãžã³ã«å¯ŸããŠããã®ã¢ãžã¥ãŒã«ã¯JSONåã§ããããšãæåŸ ããŸãããšäŒããŠããŸãã ãšã³ãžã³ãã¢ãžã¥ãŒã«ãããŒãããããã*not* JSONã§ãããšå€æããå Žåããšã©ãŒãã¹ããŒããã¢ããªã±ãŒã·ã§ã³ã®ã©ã€ããµã€ã¯ã«ã®åŸåã§èµ·ãããã壿» çãªåé¡ãæªç¶ã«é²ããŸãã
åãã§ãã¯ã®éèŠæ§
JavaScriptã¯åçåä»ãèšèªã§ãã ããã¯ãåãã§ãã¯ã®å€§éšåãã©ã³ã¿ã€ã æã«è¡ãããããšãæå³ããŸãã ããã«ããæè»æ§ãããããããäžæ¹ã§ãã¢ããªã±ãŒã·ã§ã³ãæ¬çªç°å¢ã§å®è¡ãããŠãããšãã«ã®ã¿è¡šé¢åããå¯èœæ§ã®ãããšã©ãŒã®æœåšçãªåå ã«ããªããŸãã ãããã®ã©ã³ã¿ã€ã ãšã©ãŒã¯ãããã°ãå°é£ã§ãããäºæãã¬ã¢ããªã±ãŒã·ã§ã³ã®åäœãããŒã¿ã®ç Žæãããã«ã¯ã»ãã¥ãªãã£ã®è匱æ§ã«ã€ãªããå¯èœæ§ããããŸãã
ã€ã³ããŒãã¢ãµãŒã·ã§ã³ã«ããåãã§ãã¯ã¯ãåæ€èšŒã®è² æ ãã©ã³ã¿ã€ã æããããŒãæã«ç§»ããŸãã ã¢ãžã¥ãŒã«ã®æåŸ ãããåãæç€ºçã«èšè¿°ããããšã§ãå®è³ªçã«ã¢ãžã¥ãŒã«ãšã€ã³ããŒãããã³ãŒããšã®éã«å¥çŽãäœæããããšã«ãªããŸãã ãã®å¥çŽãéåãããå ŽåãJavaScriptãšã³ãžã³ã¯å³åº§ã«ãããèŠåãããšã©ãŒããã以äžåºããã®ãé²ããŸãã
ãã®åäžäžèŽã®æ©æçºèŠã¯ãããã€ãã®äž»èŠãªå©ç¹ããããããŸãïŒ
- ã³ãŒãã®ä¿¡é Œæ§åäžïŒ åãšã©ãŒãæ©æã«ãã£ããããããšã§ãã©ã³ã¿ã€ã äŸå€ãã¢ããªã±ãŒã·ã§ã³ã®ã¯ã©ãã·ã¥ã®ãªã¹ã¯ãäœæžããŸãã
- ä¿å®æ§ã®åäžïŒ æç€ºçãªå宣èšã«ãããã¢ãžã¥ãŒã«ã®æåŸ ãããæ§é ãšå 容ãçè§£ãããããªããã³ãŒãã®ãªãã¡ã¯ã¿ãªã³ã°ãéçºè éã®ã³ã©ãã¬ãŒã·ã§ã³ãä¿é²ãããŸãã
- ãããã°æéã®ççž®ïŒ ãšã©ãŒãçºçããéãã€ã³ããŒãã¢ãµãŒã·ã§ã³ãåé¡ã®åå ãæç¢ºã«ç€ºããŠããããããæ ¹æ¬çãªåé¡ãç¹å®ãä¿®æ£ããã®ã容æã«ãªããŸãã
- ã»ãã¥ãªãã£ã®åäžïŒ ç¹å®ã®ã·ããªãªã§ã¯ãåæ€èšŒã¯ãã¢ãžã¥ãŒã«ãåäžäžèŽãæªçšããããã«æªæãæã£ãŠäœæãããŠããªãããšãä¿èšŒããããšã«ãããã»ãã¥ãªãã£è匱æ§ãé²ãã®ã«åœ¹ç«ã¡ãŸãã
ã€ã³ããŒãã¢ãµãŒã·ã§ã³åãã§ãã¯ã®ä»çµã¿
ã€ã³ããŒãã¢ãµãŒã·ã§ã³åãã§ãã¯ã®æ žãšãªãã¡ã«ããºã ã¯ãJavaScriptãšã³ãžã³ã`assert`å¥ã§å®£èšãããåãšãã€ã³ããŒããããã¢ãžã¥ãŒã«ã®å®éã®åãæ¯èŒããããšã§ãã ãšã³ãžã³ã¯ããã®å å®¹ãšæ§é ã«åºã¥ããŠã¢ãžã¥ãŒã«ã®åãæ±ºå®ããããã«å éšã¡ã«ããºã ã䜿çšããŸãã 宣èšãããåãšå®éã®åãäžèŽããªãå Žåããšã³ãžã³ã¯ãšã©ãŒïŒéåžžã¯`TypeError`ãŸãã¯ã¢ãžã¥ãŒã«ã®åäžäžèŽã瀺ãåæ§ã®äŸå€ïŒãã¹ããŒããŸãã
å ·äœäŸ
ã€ã³ããŒãã¢ãµãŒã·ã§ã³åãã§ãã¯ãããŸããŸãªã·ããªãªã§ã©ã®ããã«æ©èœãããããããã€ãã®å®è·µçãªäŸã§èŠãŠãããŸãããïŒ
1. JSONãã¡ã€ã«ã®ã€ã³ããŒã
èšå®ããŒã¿ãå«ãJSONãã¡ã€ã«ãã€ã³ããŒãããã·ããªãªãèããŠã¿ãŸãããïŒ
// config.json
{
"apiUrl": "https://api.example.com",
"timeout": 5000
}
// main.js
import config from './config.json' assert { type: 'json' };
console.log(config.apiUrl);
ãã®äŸã§ã¯ã`assert { type: 'json' }`å¥ããã€ã³ããŒããããã¢ãžã¥ãŒã«ãJSONãã¡ã€ã«ã§ããã¹ãããšãæç€ºçã«å®£èšããŠããŸãã ãã`config.json`ãã¡ã€ã«ã誀ã£ãŠå¥ã®çš®é¡ã®ãã¡ã€ã«ïŒäŸãã°ãç¡å¹ãªJSONãå«ãJavaScriptãã¡ã€ã«ïŒã«çœ®ãæããããå ŽåãJavaScriptãšã³ãžã³ã¯ã€ã³ããŒãããã»ã¹äžã«ãšã©ãŒãã¹ããŒããã¢ããªã±ãŒã·ã§ã³ãç¡å¹ãªèšå®ããŒã¿ã䜿çšããã®ãé²ããŸãã
2. CSSã¢ãžã¥ãŒã«ã®ã€ã³ããŒã
CSSã¢ãžã¥ãŒã«ãæ±ãéãã€ã³ããŒãã¢ãµãŒã·ã§ã³ã䜿çšããŠãæå¹ãªCSSãã¡ã€ã«ãã€ã³ããŒãããŠããããšãä¿èšŒã§ããŸãïŒ
// styles.module.css
.container {
background-color: #f0f0f0;
padding: 20px;
}
// component.js
import styles from './styles.module.css' assert { type: 'css' };
const element = document.createElement('div');
element.className = styles.container;
document.body.appendChild(element);
ãã®å Žåã`assert { type: 'css' }`å¥ã¯ãã€ã³ããŒããããã¢ãžã¥ãŒã«ãCSSãã¡ã€ã«ã§ããããšãä¿èšŒããŸãã ãã¡ã€ã«ãæå¹ãªCSSãã¡ã€ã«ã§ãªãå Žåããšã³ãžã³ã¯ãšã©ãŒãã¹ããŒããæœåšçãªã¹ã¿ã€ãªã³ã°ã®åé¡ãã©ã³ã¿ã€ã äŸå€ãé²ããŸãã
3. ããã¹ããã¡ã€ã«ã®ã€ã³ããŒã
ã€ã³ããŒãã¢ãµãŒã·ã§ã³ã¯ãããã¹ããã¡ã€ã«ã®åãæ€èšŒããããã«ã䜿çšã§ããŸãïŒ
// data.txt
This is some sample data.
// app.js
import data from './data.txt' assert { type: 'text' };
console.log(data);
ããã§ã`assert { type: 'text' }`å¥ã¯ãã€ã³ããŒããããã¢ãžã¥ãŒã«ãããã¹ããã¡ã€ã«ã§ããããšãä¿èšŒããŸãã ããã¯ãããã¹ãããŒã¹ã®ããŒã¿ãåŠçããå¿ èŠãããããã¡ã€ã«ã«æå¹ãªããã¹ãã³ã³ãã³ããå«ãŸããŠããããšã確èªãããå Žåã«äŸ¿å©ã§ãã
4. HTMLãã¡ã€ã«ã®ã€ã³ããŒã
ããŸãäžè¬çã§ã¯ãããŸããããã€ã³ããŒãã¢ãµãŒã·ã§ã³ã¯HTMLãã¡ã€ã«ã§ã䜿çšã§ããŸãããã ãããã®å®çšæ§ã¯äœ¿çšããã¢ãžã¥ãŒã«ããŒããŒã«äŸåããŸãã éèŠãªã®ã¯ãããŒããŒãHTMLãã¡ã€ã«ãã¢ãžã¥ãŒã«ãšããŠæ±ãããã«ããããšã§ãïŒäŸïŒHTMLã³ã³ãã³ããæååãšããŠè¿ãïŒã
// template.html
<div class="container">
<h1>Hello, World!</h1>
</div>
// app.js
import template from './template.html' assert { type: 'html' };
const element = document.createElement('div');
element.innerHTML = template;
document.body.appendChild(element);
é©åãªèšå®ïŒéåžžã¯WebpackãParcelã®ãããªãã³ãã©ãŒã䌎ãïŒãããã°ãããã¯æ©èœããå¯èœæ§ããããŸãã `assert { type: 'html' }` ã¯ããšã³ãžã³ïŒããæ£ç¢ºã«ã¯ãã³ãã©ãŒïŒã«å¯ŸããŠããã®ãã¡ã€ã«ãHTMLãšããŠæ±ãããã¹ãã ãšäŒããŸãã ãã¡ã€ã«ã®åœ¢åŒãäžæ£ãªå Žåããã³ãã©ãŒã¯ãã«ãããã»ã¹äžã«ãšã©ãŒãã¹ããŒããå¯èœæ§ããããŸãïŒããã¯å®è³ªçã«æ©æã®åãã§ãã¯ã§ãïŒã
ã€ã³ããŒãã¢ãµãŒã·ã§ã³ã䜿çšããå©ç¹
ã€ã³ããŒãã¢ãµãŒã·ã§ã³ã䜿çšããå©ç¹ã¯ãåã«ã©ã³ã¿ã€ã ãšã©ãŒãé²ãã ãã«ãšã©ãŸããŸããã ãããã¯ãããã€ãã®æ¹æ³ã§ããå ç¢ã§ä¿å®æ§ã®é«ãã³ãŒãããŒã¹ã«è²¢ç®ããŸãïŒ
- ã³ãŒãã®æç¢ºæ§ã®åäžïŒ ã€ã³ããŒãã¢ãµãŒã·ã§ã³ã¯ããã¥ã¡ã³ããšããŠæ©èœããåã¢ãžã¥ãŒã«ã®æåŸ ãããåãæç€ºçã«ç€ºããŸãã ããã«ãããéçºè ãã³ãŒããçè§£ãããããªããä¿å®ã«å¿ èŠãªèªç¥çè² è·ã軜æžãããŸãã
- èªç¥çè² è·ã®è»œæžïŒ æåŸ ãããã¢ãžã¥ãŒã«åãæç€ºçã«ããããšã§ãéçºè ã¯ã€ã³ããŒããããã¢ãžã¥ãŒã«ã®åãé ã®äžã§è¿œè·¡ããã®ã§ã¯ãªããã³ãŒãã®ããžãã¯ã«éäžã§ããŸãã
- ã³ãŒããªãã¡ã¯ã¿ãªã³ã°ã®åŒ·åïŒ ã³ãŒãããªãã¡ã¯ã¿ãªã³ã°ããéãã€ã³ããŒãã¢ãµãŒã·ã§ã³ã¯ã»ãŒããã£ããããæäŸãã倿Žãæå³ããåãšã©ãŒãå°å ¥ããªãããšãä¿èšŒããŸãã ãªãã¡ã¯ã¿ãªã³ã°ãã€ã³ããŒãã¢ãµãŒã·ã§ã³ã§æå®ãããåå¥çŽãç Žã£ãå Žåããšã³ãžã³ã¯å³åº§ã«ãããèŠåããŸãã
- ããè¯ãã³ã©ãã¬ãŒã·ã§ã³ïŒ ã€ã³ããŒãã¢ãµãŒã·ã§ã³ã¯ãã¢ãžã¥ãŒã«ã®æåŸ ãããåãæç¢ºãã€ææ§ããªãäŒéããæ¹æ³ãæäŸããããšã§ãéçºè éã®ã³ã©ãã¬ãŒã·ã§ã³ãä¿é²ããŸãã ããã«ããã誀解ãçµ±åã®åé¡ã®ãªã¹ã¯ãäœæžãããŸãã
- ä¿¡é Œæ§ã®åäžïŒ èªåã®ã³ãŒããã€ã³ããŒãã¢ãµãŒã·ã§ã³åãã§ãã¯ã«ãã£ãŠä¿è·ãããŠãããšç¥ãããšã§ããã®æ£ãããšä¿¡é Œæ§ã«å¯Ÿããèªä¿¡ãé«ãŸããŸãã ããã¯ãè€éãŸãã¯éèŠãªã¢ããªã±ãŒã·ã§ã³ã§ã¯ç¹ã«äŸ¡å€ããããŸãã
çŸç¶ãšãã©ãŠã¶ã®ãµããŒãç¶æ³
ã€ã³ããŒãã¢ãµãŒã·ã§ã³ã¯ãJavaScriptã®æ¯èŒçæ°ããæ©èœã§ãã ãã©ãŠã¶ã®ãµããŒãã¯ãŸã é²åã®éäžã«ãããŸãã å·çæç¹ã§ã¯ããµããŒãç¶æ³ã¯ãã©ãŠã¶ãJavaScriptã©ã³ã¿ã€ã ã«ãã£ãŠç°ãªããŸãã ææ°ã®æ å ±ã«ã€ããŠã¯ãææ°ã®ãã©ãŠã¶äºææ§ããŒãã«ïŒäŸïŒMDN Web Docsã® https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Statements/import#browser_compatibilityïŒã確èªããŠãã ããã ãã®æ©èœã¯äžè¬çã«ãã©ãŠã¶ãããNode.jsç°å¢ã®æ¹ãæçããŠããŸããããã©ãŠã¶ã§ã®æ¡çšãå¢å ããŠããŸãã
å€ããã©ãŠã¶ããµããŒãããå¿ èŠãããå Žåã¯ãBabelã®ãããªãã©ã³ã¹ãã€ã©ã䜿çšããŠãã€ã³ããŒãã¢ãµãŒã·ã§ã³ãå«ãã³ãŒããå€ãJavaScriptããŒãžã§ã³ãšäºææ§ã®ããåçã®ã³ãŒãã«å€æããããšãæ€èšãããããããŸããã ãã ããBabelã«ããã€ã³ããŒãã¢ãµãŒã·ã§ã³ã®ãµããŒãã¯ãéçãªåæ€èšŒã§ã¯ãªããã©ã³ã¿ã€ã ãã§ãã¯ãå«ãå Žåãããããšã«æ³šæããŠãã ããã
ããªãã£ã«ãšãã©ã³ã¹ãã€ã©
ã€ã³ããŒãã¢ãµãŒã·ã§ã³ã®ãã©ãŠã¶ãµããŒãã¯ãŸã æ®éçã§ã¯ãªããããå€ããã©ãŠã¶ãšã®äºææ§ã確ä¿ããããã«ããªãã£ã«ããã©ã³ã¹ãã€ã©ã䜿çšããå¿ èŠããããããããŸããã 以äžã«ããããã®ããŒã«ãã©ã®ããã«åœ¹ç«ã€ãã®ç°¡åãªæŠèŠã瀺ããŸãïŒ
- ãã©ã³ã¹ãã€ã©ïŒ Babelã®ãããªããŒã«ã¯ãã€ã³ããŒãã¢ãµãŒã·ã§ã³ãå«ãã³ãŒãããã¢ãžã¥ãŒã«ã®èªã¿èŸŒã¿ãšåæ€èšŒã«ä»£æ¿ã¡ã«ããºã ã䜿çšããåçã®ã³ãŒãã«å€æã§ããŸãã ããã«ãããã¿ãŒã²ãããã©ãŠã¶ããã€ãã£ãã«ãµããŒãããŠããªããŠããã³ãŒãã§ã€ã³ããŒãã¢ãµãŒã·ã§ã³ã䜿çšã§ããŸãã ãã ãããã©ã³ã¹ãã€ã«ãããã³ãŒãã¯ãå ã®ã³ãŒããšåãã¬ãã«ã®éçåãã§ãã¯ãæäŸããªãå Žåãããããšã«æ³šæããŠãã ããã
- ããªãã£ã«ïŒ ããªãã£ã«ã¯ãå€ããã©ãŠã¶ã§äžè¶³ããŠããæ©èœãæäŸããã³ãŒãã¹ããããã§ãã ã€ã³ããŒãã¢ãµãŒã·ã§ã³ã®çŽæ¥çãªããªãã£ã«ãäœæããã®ã¯å°é£ã§ãããã¢ãžã¥ãŒã«ã®èªã¿èŸŒã¿ãåãã§ãã¯ãªã©ã®é¢é£æ©èœã®ããªãã£ã«ã䜿çšããŠãåæ§ã®çµæãåŸãããšãã§ããŸãã
ã€ã³ããŒãã¢ãµãŒã·ã§ã³ã䜿çšããããã®ãã¹ããã©ã¯ãã£ã¹
ã€ã³ããŒãã¢ãµãŒã·ã§ã³ãæå€§éã«æŽ»çšããã«ã¯ã以äžã®ãã¹ããã©ã¯ãã£ã¹ã«åŸã£ãŠãã ããïŒ
- æç€ºçã«ããïŒ `assert`å¥ã䜿çšããŠãåã¢ãžã¥ãŒã«ã®æåŸ ãããåãåžžã«æå®ããŸãã ããã«ãããã³ãŒããèªã¿ããããªããåãšã©ãŒã®ãªã¹ã¯ã軜æžãããŸãã
- é©åãªåãéžæããïŒ åã¢ãžã¥ãŒã«ã«æãé©åãªåãéžæããŸãã äžè¬çãªåã«ã¯`json`ã`css`ã`text`ã`html`ãªã©ããããŸãã
- 培åºçã«ãã¹ãããïŒ ããŸããŸãªã¢ãžã¥ãŒã«åãããŒã¿ã§ã³ãŒãããã¹ãããã€ã³ããŒãã¢ãµãŒã·ã§ã³ãæåŸ ã©ããã«æ©èœããŠããããšã確èªããŸãã
- ãªã³ã¿ãŒã䜿çšããïŒ ã³ãŒãããŒã¹å šäœã§ã€ã³ããŒãã¢ãµãŒã·ã§ã³ã®äžè²«ãã䜿çšã匷å¶ããããã«ããªã³ã¿ãŒã䜿çšããŸãã
- ææ°æ å ±ãä¿ã€ïŒ ææ°ã®ãã©ãŠã¶äºææ§æ å ±ãåžžã«ææ¡ããå¿ èŠã«å¿ããŠããªãã£ã«ããã©ã³ã¹ãã€ã©ãæŽæ°ããŸãã
- ããã©ãŒãã³ã¹ãèæ ®ããïŒ ã€ã³ããŒãã¢ãµãŒã·ã§ã³ã¯äžè¬çã«ããã©ãŒãã³ã¹ãžã®åœ±é¿ã¯ãããããã§ãããéåžžã«å€§ããªã¢ãžã¥ãŒã«ãæ±ãéã«ã¯ãæœåšçãªãªãŒããŒãããã«æ³šæããŠãã ããã
- ã°ããŒãã«ã«èããïŒ ã¢ãžã¥ãŒã«åãå®çŸ©ããéã«ã¯ãåœéåãšããŒã«ãªãŒãŒã·ã§ã³ã®å¯èœæ§ãèæ ®ããŸãã äŸãã°ã翻蚳ãããæååãå«ãJSONãã¡ã€ã«ãã€ã³ããŒãããå Žåããã¡ã€ã«ãæ£ãããšã³ã³ãŒãïŒäŸïŒUTF-8ïŒãããJavaScriptãšã³ãžã³ããã®ãšã³ã³ãŒãã£ã³ã°ãæ£ããè§£éããããšã確èªããŸãã
é«åºŠãªäœ¿çšäŸ
ã€ã³ããŒãã¢ãµãŒã·ã§ã³ã®æãäžè¬çãªäœ¿çšäŸã¯åãã§ãã¯ã§ãããä»ã«ã圹ç«ã€é«åºŠãªã·ããªãªããããŸãïŒ
- ããŒãžã§ã³ãã§ãã¯ïŒ ããŸãäžè¬çã§ã¯ãªããã«ã¹ã¿ã ã¢ãžã¥ãŒã«ããŒããŒãå¿ èŠã§ãããã€ã³ããŒãã¢ãµãŒã·ã§ã³ã䜿çšããŠã¢ãžã¥ãŒã«ã®ããŒãžã§ã³ããã§ãã¯ããããšãå¯èœã§ãã
- ç°å¢åºæã®èšå®ïŒ æ¡ä»¶ä»ãã€ã³ããŒããšçµã¿åãããŠã€ã³ããŒãã¢ãµãŒã·ã§ã³ã䜿çšããç°å¢ïŒäŸïŒéçºãæ¬çªïŒã«åºã¥ããŠç°ãªãèšå®ãèªã¿èŸŒãããšãã§ããŸãã
- ã«ã¹ã¿ã ã¢ãžã¥ãŒã«ããŒããŒïŒ ã«ã¹ã¿ã ã¢ãžã¥ãŒã«ããŒããŒãæ§ç¯ããŠããå Žåãã€ã³ããŒãã¢ãµãŒã·ã§ã³ã䜿çšããŠãç¹å®ã®ã¢ãžã¥ãŒã«åãã©ã®ããã«åŠçãããã«ã€ããŠããŒããŒã«è¿œå æ å ±ãæäŸã§ããŸãã
ã€ã³ããŒãã¢ãµãŒã·ã§ã³ã®æªæ¥
ã€ã³ããŒãã¢ãµãŒã·ã§ã³ã¯ãèšèªã®é²åã«äŒŽããJavaScriptéçºã®ãŸããŸãéèŠãªéšåã«ãªãå¯èœæ§ããããŸãã ãã©ãŠã¶ã®ãµããŒããåäžããããå€ãã®éçºè ããã®æ©èœãæ¡çšããã«ã€ããŠãããå ç¢ã§ä¿¡é Œæ§ã®é«ãJavaScriptãšã³ã·ã¹ãã ã«è²¢ç®ããã§ãããã å°æ¥ã®çºå±ã«ã¯ã次ã®ãããªãã®ãå«ãŸããå¯èœæ§ããããŸãïŒ
- ããæšæºåãããåå®çŸ©ïŒ JavaScriptã³ãã¥ããã£ã¯ãäžè¬çãªã¢ãžã¥ãŒã«åã«å¯ŸããŠããæšæºåãããåå®çŸ©ãéçºããç°ãªããããžã§ã¯ãéã§ã€ã³ããŒãã¢ãµãŒã·ã§ã³ãäžè²«ããŠäœ¿çšãããããããããããŸããã
- åã·ã¹ãã ãšã®çµ±åïŒ ã€ã³ããŒãã¢ãµãŒã·ã§ã³ã¯ãTypeScriptã®ãããªåã·ã¹ãã ãšçµ±åãããããã«åŒ·åãªåãã§ãã¯æ©èœãæäŸããå¯èœæ§ããããŸãã
- ããŒã«ãµããŒãã®åäžïŒ ã€ã³ããŒãã¢ãµãŒã·ã§ã³ã®ããŒã«ãµããŒãã¯æéãšãšãã«åäžããå€§èŠæš¡ãããžã§ã¯ãã§ã®äœ¿çšãšç®¡çã容æã«ãªãã§ãããã
- ãã衚çŸåè±ããªã¢ãµãŒã·ã§ã³ïŒ ECMAScriptæšæºã®å°æ¥ã®ããŒãžã§ã³ã§ã¯ããã衚çŸåè±ããªã¢ãµãŒã·ã§ã³ã¡ã«ããºã ãå°å ¥ãããéçºè ãã¢ãžã¥ãŒã«ã®åãå 容ã«å¯ŸããŠããè€éãªå¶çŽãæå®ã§ããããã«ãªããããããŸããã
çµè«
JavaScriptã®ã€ã³ããŒãã¢ãµãŒã·ã§ã³åãã§ãã¯ã¯ãã³ãŒãã®ä¿¡é Œæ§ãä¿å®æ§ãã»ãã¥ãªãã£ãåäžãããããã®äŸ¡å€ããæ©èœã§ãã ã¢ãžã¥ãŒã«ã®æåŸ ãããåãæç€ºçã«å®£èšããããšã§ãéçºããã»ã¹ã®æ©ã段éã§åãšã©ãŒãææããã©ã³ã¿ã€ã äŸå€ã®ãªã¹ã¯ãäœæžããã³ãŒãã®å šäœçãªå質ãåäžãããããšãã§ããŸãã ãã©ãŠã¶ã®ãµããŒãã¯ãŸã é²åã®éäžã§ãããã€ã³ããŒãã¢ãµãŒã·ã§ã³ã䜿çšããå©ç¹ã¯æç¢ºã§ãã ãã¹ããã©ã¯ãã£ã¹ã«åŸããææ°ã®éçºç¶æ³ãææ¡ããããšã§ããã®åŒ·åãªæ©èœã掻çšããŠãããå ç¢ã§ä¿¡é Œæ§ã®é«ãJavaScriptã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ã§ããŸãã
ã€ã³ããŒãã¢ãµãŒã·ã§ã³ãã¯ãŒã¯ãããŒã«çµ±åããéã«ã¯ããããããè¯ãã³ãŒããæžãããã®ããŒã«ã§ããããšãå¿ããªãã§ãã ããã æè¯ã®çµæãåŸãããã«ã培åºçãªãã¹ããã³ãŒãã¬ãã¥ãŒãšãã£ãä»ã®åªããã³ãŒãã£ã³ã°æ £è¡ãšçµã¿åãããŠãã ããã ã€ã³ããŒãã¢ãµãŒã·ã§ã³ãåãå ¥ããããšã¯ãããåå®å šã§äºæž¬å¯èœãªJavaScriptã®æªæ¥ãžã®äžæ©ã§ãã
JavaScriptéçºã®ã°ããŒãã«ãªæ§è³ªã¯ãã³ãŒãããã°ãã°ç°ãªãããŒã ãçµç¹éã§å ±æãããåå©çšãããããšãæå³ããŸãã ã€ã³ããŒãã¢ãµãŒã·ã§ã³ãäžè²«ããŠäœ¿çšããããšã¯ãã¢ãžã¥ãŒã«ã䜿çšãããç°å¢ã«é¢ä¿ãªããæ£ããè§£éãããããšãä¿èšŒããã®ã«åœ¹ç«ã¡ãŸãã ããã¯ãç°ãªãã¢ãžã¥ãŒã«ãããŒã«ã©ã€ãºãããã³ã³ãã³ããããŒã¿ãå«ãå¯èœæ§ãããåœéåãããã¢ããªã±ãŒã·ã§ã³ã§äœæ¥ããå Žåã«ç¹ã«éèŠã§ãã
ããã仿¥ããã€ã³ããŒãã¢ãµãŒã·ã§ã³ãæ¢æ±ãå§ããããªãã®JavaScriptãããžã§ã¯ãã§ã¢ãžã¥ãŒã«ã®å®å šæ§ãåäžããå©ç¹ãäœéšããŠãã ããïŒ