JavaScriptã®ã€ã³ããŒãã¢ãµãŒã·ã§ã³ã»ãã¥ãªãã£ã¢ãã«ãç¹ã«ã¢ãžã¥ãŒã«ã¿ã€ãã»ãã¥ãªãã£ã«ã€ããŠæãäžããŸããåãã§ãã¯ãšå®å šãªã¢ãžã¥ãŒã«èªã¿èŸŒã¿ã«ãããæªæã®ããã³ãŒãããã¢ããªã±ãŒã·ã§ã³ãä¿è·ããæ¹æ³ãçè§£ããŸãããã
JavaScriptã®ã€ã³ããŒãã¢ãµãŒã·ã§ã³ã»ãã¥ãªãã£ã¢ãã«ïŒã¢ãžã¥ãŒã«ã¿ã€ãã»ãã¥ãªãã£ã®è©³çް
çµ¶ããé²åãããŠã§ãéçºã®ç¶æ³ã«ãããŠãã»ãã¥ãªãã£ã¯æéèŠèª²é¡ã§ãããŠã§ãã®äž»åã§ããJavaScriptã¯ã倿§ãªè åšããã¢ããªã±ãŒã·ã§ã³ãä¿è·ããããã«å ç¢ãªã»ãã¥ãªãã£ã¡ã«ããºã ãå¿ èŠãšããŸããã€ã³ããŒãã¢ãµãŒã·ã§ã³ã»ãã¥ãªãã£ã¢ãã«ãç¹ã«ã¢ãžã¥ãŒã«ã¿ã€ãã»ãã¥ãªãã£ã«é¢ãããã®ã¯ãéèŠãªé²åŸ¡å±€ãæäŸããŸãããã®ããã°æçš¿ã§ã¯ããã®ã¢ãã«ã®è€éãã«æ·±ãå ¥ã蟌ã¿ããã®ç®çãå®è£ ãããã³çŸä»£ã®ãŠã§ãã¢ããªã±ãŒã·ã§ã³ãžã®åœ±é¿ãæ¢ããŸãã
ã¢ãžã¥ãŒã«ã¿ã€ãã»ãã¥ãªãã£ã®å¿ èŠæ§ãçè§£ãã
ã€ã³ããŒãã¢ãµãŒã·ã§ã³ã®è©³çްã«å ¥ãåã«ãããã察åŠããæ ¹æ¬çãªåé¡ãçè§£ããããšãéèŠã§ããESã¢ãžã¥ãŒã«ïŒESMïŒãšå ±ã«å°å ¥ãããJavaScriptã¢ãžã¥ãŒã«ã¯ãéçºè ãã³ãŒããåå©çšå¯èœãªåäœã«æŽçããããšãå¯èœã«ããŸãããããããã®ã¢ãžã¥ãŒã«æ§ã«ã¯æœåšçãªã»ãã¥ãªãã£ãªã¹ã¯ã䌎ããŸããæªæã®ããã¢ãžã¥ãŒã«ãæå³ããèªã¿èŸŒãŸããå Žåãã¢ããªã±ãŒã·ã§ã³å šäœãå±éºã«ãããããå¯èœæ§ããããŸããã¢ãžã¥ãŒã«ã¿ã€ãã»ãã¥ãªãã£ã¯ãã¢ãžã¥ãŒã«ãæåŸ ãããåã§èªã¿èŸŒãŸããããšãä¿èšŒããæœåšçã«æå®³ãªã³ãŒãã®å®è¡ãé²ãããšã§ããã®ãªã¹ã¯ã軜æžããããšãç®çãšããŠããŸãã
ã¢ããªã±ãŒã·ã§ã³ãèšå®ããŒã¿ãå«ãJSONãã¡ã€ã«ãèªã¿èŸŒãããšãæ³å®ããŠããã·ããªãªãèããŠã¿ãŸããããæªæã®ããã¢ã¯ã¿ãŒããã®JSONãã¡ã€ã«ããæªæã®ããã³ãŒããå«ãJavaScriptãã¡ã€ã«ã«çœ®ãæããããšã«æåããå Žåãã¢ããªã±ãŒã·ã§ã³ã䟵害ãããå¯èœæ§ããããŸããé©åãªåãã§ãã¯ããªããã°ãã¢ããªã±ãŒã·ã§ã³ã¯ãã®æªæã®ããã³ãŒããå®è¡ããããŒã¿æŒæŽ©ããã®ä»ã®ã»ãã¥ãªãã£è匱æ§ã«ã€ãªããå¯èœæ§ããããŸãã
ã€ã³ããŒãã¢ãµãŒã·ã§ã³ã®ç޹ä»
ECMAScriptã§æ£åŒã«å°å
¥ãããã€ã³ããŒãã¢ãµãŒã·ã§ã³ã¯ãã€ã³ããŒããããã¢ãžã¥ãŒã«ã®æåŸ
ãããåãæå®ããã¡ã«ããºã ãæäŸããŸããããã«ãããJavaScriptã©ã³ã¿ã€ã ã¯èªã¿èŸŒãŸããã¢ãžã¥ãŒã«ã宣èšãããåã«æºæ ããŠããããšãæ€èšŒããäºæããªããŸãã¯æªæã®ããã³ãŒãã®å®è¡ãé²ããŸããã€ã³ããŒãã¢ãµãŒã·ã§ã³ã¯importã¹ããŒãã¡ã³ãã®äžéšã§ãããäžæ¬åŒ§ã§å²ãŸããŸãã
ã€ã³ããŒãã¢ãµãŒã·ã§ã³ã®åºæ¬çãªæ§æã¯æ¬¡ã®ãšããã§ãã
import data from './config.json' assert { type: 'json' };
ãã®äŸã§ã¯ãassert { type: 'json' }å¥ã¯ã./config.jsonããã€ã³ããŒããããã¢ãžã¥ãŒã«ãJSONãã¡ã€ã«ã§ããããšãæåŸ
ãããšæå®ããŠããŸããã©ã³ã¿ã€ã ãã¢ãžã¥ãŒã«ãJSONãã¡ã€ã«ã§ã¯ãªããšæ€åºããå Žåããšã©ãŒãã¹ããŒããã¢ããªã±ãŒã·ã§ã³ãã¢ãžã¥ãŒã«ãèªã¿èŸŒãã®ãé²ããŸãã
ã€ã³ããŒãã¢ãµãŒã·ã§ã³ãã»ãã¥ãªãã£ãã©ã®ããã«åŒ·åããã
ã€ã³ããŒãã¢ãµãŒã·ã§ã³ã¯ãããã€ãã®éèŠãªæ¹æ³ã§ã»ãã¥ãªãã£ã匷åããŸãã
- åæ€èšŒ: ã¢ãžã¥ãŒã«ãæåŸ ãããåã§èªã¿èŸŒãŸããããšãä¿èšŒããäºæããªãã³ãŒãã®å®è¡ãé²ããŸãã
- æ©æãšã©ãŒæ€åº: ã¢ãžã¥ãŒã«èªã¿èŸŒã¿äžã«åãã¹ããããæ€åºãããæœåšçãªã©ã³ã¿ã€ã ãšã©ãŒãã»ãã¥ãªãã£è匱æ§ãé²ããŸãã
- ã³ãŒãä¿å®æ§ã®åäž: æç€ºçãªå宣èšã«ãããã³ãŒãã®å¯èªæ§ãšä¿å®æ§ãåäžããæœåšçãªã»ãã¥ãªãã£åé¡ãç¹å®ããé²ãããšã容æã«ãªããŸãã
- å€å±€é²åŸ¡: ã€ã³ããŒãã¢ãµãŒã·ã§ã³ã¯ãæ¢åã®ã»ãã¥ãªãã£å¯Ÿçã®äžã«ããã«ã»ãã¥ãªãã£å±€ã远å ããæªæã®ããæ»æã«å¯ŸããŠããå ç¢ãªé²åŸ¡ãæäŸããŸãã
ã¢ãžã¥ãŒã«èªã¿èŸŒã¿æ®µéã§åå¶çŽã匷å¶ããããšã§ãã€ã³ããŒãã¢ãµãŒã·ã§ã³ã¯ãŠã§ãã¢ããªã±ãŒã·ã§ã³ã®æ»æå¯Ÿè±¡é åãå€§å¹ ã«åæžããæ§ã ãªã»ãã¥ãªãã£è åšã«å¯ŸããŠããèæ§ãæãããŸãã
ã€ã³ããŒãã¢ãµãŒã·ã§ã³ã®å®è·µçãªäŸ
ã€ã³ããŒãã¢ãµãŒã·ã§ã³ãç°ãªãã·ããªãªã§ã©ã®ããã«äœ¿çšã§ããããããã€ãã®å®è·µçãªäŸãèŠãŠãããŸãããã
äŸ1ïŒJSONèšå®ãã¡ã€ã«ã®èªã¿èŸŒã¿
åè¿°ã®éããJSONèšå®ãã¡ã€ã«ã®èªã¿èŸŒã¿ã¯ã€ã³ããŒãã¢ãµãŒã·ã§ã³ã®äžè¬çãªäœ¿çšäŸã§ããæ§ã ãªèšå®ãã©ã¡ãŒã¿ãä¿åããããã«JSONãã¡ã€ã«ã䜿çšããã¢ããªã±ãŒã·ã§ã³ãèããŠã¿ãŸãããã
import config from './config.json' assert { type: 'json' };
console.log(config.apiUrl);
console.log(config.timeout);
assert { type: 'json' }å¥ã䜿çšããããšã§ãconfig倿°ãåžžã«æå¹ãªJSONãªããžã§ã¯ããå«ãããšãä¿èšŒããŸãããã誰ããconfig.jsonãJavaScriptãã¡ã€ã«ã«çœ®ãæããå Žåãã€ã³ããŒãã¯å€±æããæœåšçã«æªæã®ããã³ãŒãã®å®è¡ãé²ãããšãã§ããŸãã
äŸ2ïŒCSSã¢ãžã¥ãŒã«ã®èªã¿èŸŒã¿
CSS Modulesã®å°é ã«äŒŽããéçºè ã¯CSSãã¡ã€ã«ãJavaScriptã¢ãžã¥ãŒã«ã«çŽæ¥ã€ã³ããŒãããããšããããããŸããã€ã³ããŒãã¢ãµãŒã·ã§ã³ã¯ãã€ã³ããŒããããã¢ãžã¥ãŒã«ãå®éã«CSSã¢ãžã¥ãŒã«ã§ããããšãæ€èšŒããããã«äœ¿çšã§ããŸãã
import styles from './styles.module.css' assert { type: 'css' };
document.body.classList.add(styles.container);
ãã®äŸã§ã¯ãassert { type: 'css' }å¥ã¯ãstyles倿°ãCSSã¢ãžã¥ãŒã«ãå«ãããšãä¿èšŒããŸããã€ã³ããŒãããããã¡ã€ã«ãæå¹ãªCSSã¢ãžã¥ãŒã«ã§ã¯ãªãå Žåãã€ã³ããŒãã¯å€±æããŸãã
äŸ3ïŒããã¹ããã¡ã€ã«ã®èªã¿èŸŒã¿
æãšããŠããã³ãã¬ãŒããããŒã¿ãã¡ã€ã«ã®ãããªããã¹ããã¡ã€ã«ãã¢ããªã±ãŒã·ã§ã³ã«èªã¿èŸŒãå¿ èŠããããããããŸãããã€ã³ããŒãã¢ãµãŒã·ã§ã³ã¯ãã€ã³ããŒããããã¢ãžã¥ãŒã«ãããã¹ããã¡ã€ã«ã§ããããšãæ€èšŒããããã«äœ¿çšã§ããŸãã
import template from './template.txt' assert { type: 'text' };
document.body.innerHTML = template;
ããã§ãassert { type: 'text' }å¥ã¯ãtemplate倿°ãããã¹ãæååãå«ãããšãä¿èšŒããŸããã€ã³ããŒãããããã¡ã€ã«ãããã¹ããã¡ã€ã«ã§ã¯ãªãå Žåãã€ã³ããŒãã¯å€±æããŸãã
ãã©ãŠã¶ã®äºææ§ãšããªãã£ã«
ã€ã³ããŒãã¢ãµãŒã·ã§ã³ã¯è²Žéãªã»ãã¥ãªãã£æ©èœã§ããããã©ãŠã¶ã®äºææ§ãèæ ®ããããšãéèŠã§ããå·çæç¹ã§ã¯ãã€ã³ããŒãã¢ãµãŒã·ã§ã³ã®ãµããŒãã¯ç°ãªããã©ãŠã¶éã§ãŸã é²åããŠããŸããå€ããã©ãŠã¶ã§ã³ãŒããæ£ããåäœããããã«ããããã«ãããªãã£ã«ããã©ã³ã¹ãã€ã©ã䜿çšããå¿ èŠããããããããŸããã
BabelãTypeScriptã®ãããªããŒã«ã¯ãã€ã³ããŒãã¢ãµãŒã·ã§ã³ã䜿çšããã³ãŒããå€ããã©ãŠã¶ãšäºææ§ã®ããã³ãŒãã«ãã©ã³ã¹ãã€ã«ããããã«äœ¿çšã§ããŸããããã«ãããªãã£ã«ã¯ãã€ã³ããŒãã¢ãµãŒã·ã§ã³ããã€ãã£ãã«ãµããŒãããŠããªããã©ãŠã¶ã§å¿ èŠãªæ©èœãæäŸããããã«äœ¿çšã§ããŸãã
ã»ãã¥ãªãã£ã«é¢ããèæ ®äºé ãšãã¹ããã©ã¯ãã£ã¹
ã€ã³ããŒãã¢ãµãŒã·ã§ã³ã¯éèŠãªã»ãã¥ãªãã£åŒ·åãæäŸããŸããããã®å¹æãæå€§åããããã«ã¯ãã¹ããã©ã¯ãã£ã¹ã«åŸãããšãéèŠã§ãã
- åžžã«ã€ã³ããŒãã¢ãµãŒã·ã§ã³ã䜿çšãã: å¯èœãªéããã€ã³ããŒããããã¢ãžã¥ãŒã«ã®æåŸ ãããåãæå®ããããã«ã€ã³ããŒãã¢ãµãŒã·ã§ã³ã䜿çšããŠãã ããã
- æ£ããåãæå®ãã: ã€ã³ããŒãã¢ãµãŒã·ã§ã³ã§æå®ãããåããã€ã³ããŒããããã¢ãžã¥ãŒã«ã®å®éã®åãæ£ç¢ºã«åæ ããŠããããšã確èªããŠãã ããã
- ã€ã³ããŒããããããŒã¿ãæ€èšŒãã: ã€ã³ããŒãã¢ãµãŒã·ã§ã³ã䜿çšããŠããå Žåã§ããæœåšçãªããŒã¿ã€ã³ãžã§ã¯ã·ã§ã³æ»æãé²ãããã«ãã€ã³ããŒããããããŒã¿ãæ€èšŒããããšãéèŠã§ãã
- äŸåé¢ä¿ãææ°ã«ä¿ã€: ææ°ã®ã»ãã¥ãªãã£ããããšãã°ä¿®æ£ã䜿çšããŠããããšã確èªããããã«ãäŸåé¢ä¿ã宿çã«æŽæ°ããŠãã ããã
- ã³ã³ãã³ãã»ãã¥ãªãã£ããªã·ãŒ (CSP) ã䜿çšãã: ã¢ããªã±ãŒã·ã§ã³ããªãœãŒã¹ãèªã¿èŸŒãããœãŒã¹ãå¶éããããã«ãã³ã³ãã³ãã»ãã¥ãªãã£ããªã·ãŒãå®è£ ããŠãã ããã
ãããã®ãã¹ããã©ã¯ãã£ã¹ã«åŸãããšã§ããŠã§ãã¢ããªã±ãŒã·ã§ã³ã®ã»ãã¥ãªãã£äœå¶ãå€§å¹ ã«æ¹åããæ§ã ãªã»ãã¥ãªãã£è åšããä¿è·ããããšãã§ããŸãã
é«åºŠãªäœ¿çšäŸãšä»åŸã®éçº
åè¿°ã®åºæ¬çãªäŸãè¶ ããŠãã€ã³ããŒãã¢ãµãŒã·ã§ã³ã¯ããé«åºŠãªã·ããªãªã§äœ¿çšã§ããŸããäŸãã°ãå®è¡æã®æ¡ä»¶ã«åºã¥ããŠã¢ãžã¥ãŒã«ãèªã¿èŸŒã¿ãªãããåå®å šæ§ã匷å¶ããããã«åçã€ã³ããŒããšçµã¿åãããããšãã§ããŸãã
async function loadModule(modulePath, moduleType) {
try {
const module = await import(modulePath, { assert: { type: moduleType } });
return module;
} catch (error) {
console.error(`Failed to load module: ${error}`);
return null;
}
}
// Example usage:
loadModule('./data.json', 'json')
.then(data => {
if (data) {
console.log(data);
}
});
ãã®äŸã¯ãã€ã³ããŒãã¢ãµãŒã·ã§ã³ã䜿çšããŠã¢ãžã¥ãŒã«ãåçã«èªã¿èŸŒãæ¹æ³ã瀺ããŠãããå®è¡æã®æ¡ä»¶ã«åºã¥ããŠç°ãªãçš®é¡ã®ã¢ãžã¥ãŒã«ãèªã¿èŸŒã¿ãªãããåå®å šæ§ã確ä¿ããããšãã§ããŸãã
JavaScriptãšã³ã·ã¹ãã ãé²åãç¶ããã«ã€ããŠãã¢ãžã¥ãŒã«ã¿ã€ãã»ãã¥ãªãã£ã®åéã§ãããªãçºå±ãèŠããããšäºæ³ãããŸããECMAScriptã®å°æ¥ã®ããŒãžã§ã³ã§ã¯ãæ°ããçš®é¡ã®ã€ã³ããŒãã¢ãµãŒã·ã§ã³ãã¢ãžã¥ãŒã«ã»ãã¥ãªãã£ã匷å¶ããããã®ä»ã®ã¡ã«ããºã ãå°å ¥ããããããããŸããã
ä»ã®ã»ãã¥ãªãã£å¯Ÿçãšã®æ¯èŒ
ã€ã³ããŒãã¢ãµãŒã·ã§ã³ã¯ããŠã§ãã¢ããªã±ãŒã·ã§ã³ã»ãã¥ãªãã£ã«ãããããºã«ã®ã»ãã®äžéšã«éããŸãããããããä»ã®ã»ãã¥ãªãã£å¯Ÿçãšæ¯èŒããŠã©ãã§ãããããŸãããããšé£æºããŠã©ã®ããã«äœ¿çšã§ããããçè§£ããããšãéèŠã§ãã
ã³ã³ãã³ãã»ãã¥ãªãã£ããªã·ãŒ (CSP)
CSPã¯ãã¢ããªã±ãŒã·ã§ã³ããªãœãŒã¹ãèªã¿èŸŒããœãŒã¹ãå¶åŸ¡ã§ããã»ãã¥ãªãã£ã¡ã«ããºã ã§ããã€ã³ã©ã€ã³ã¹ã¯ãªããã®å®è¡ãä¿¡é Œã§ããªããœãŒã¹ããã®ã¹ã¯ãªããã®èªã¿èŸŒã¿ãå¶éããããšã§ãã¯ãã¹ãµã€ãã¹ã¯ãªããã£ã³ã°ïŒXSSïŒæ»æãé²ãããã«äœ¿çšã§ããŸããã€ã³ããŒãã¢ãµãŒã·ã§ã³ã¯ãã¢ãžã¥ãŒã«èªã¿èŸŒã¿æ®µéã§è¿œå ã®ã»ãã¥ãªãã£å±€ãæäŸããããšã§CSPãè£å®ããŸãã
ãµããªãœãŒã¹å®å šæ§ (SRI)
SRIã¯ããµãŒãããŒãã£CDNããèªã¿èŸŒãŸãããªãœãŒã¹ã®å®å šæ§ãæ€èšŒã§ããã»ãã¥ãªãã£ã¡ã«ããºã ã§ããããŠã³ããŒãããããªãœãŒã¹ã®ããã·ã¥ãæ¢ç¥ã®ããã·ã¥å€ãšæ¯èŒããããšã§æ©èœããŸããããã·ã¥ãäžèŽããªãå ŽåããªãœãŒã¹ã¯èªã¿èŸŒãŸããŸãããã€ã³ããŒãã¢ãµãŒã·ã§ã³ã¯ãä»»æã®ãœãŒã¹ããèªã¿èŸŒãŸããã¢ãžã¥ãŒã«ã«åæ€èšŒãæäŸããããšã§SRIãè£å®ããŸãã
éçè§£æããŒã«
éçè§£æããŒã«ã¯ãã³ãŒãããããã€ãããåã«æœåšçãªã»ãã¥ãªãã£è匱æ§ãç¹å®ããããã«äœ¿çšã§ããŸãããããã®ããŒã«ã¯ãSQLã€ã³ãžã§ã¯ã·ã§ã³ãã¯ãã¹ãµã€ãã¹ã¯ãªããã£ã³ã°ããããã¡ãªãŒããŒãããŒãªã©ã®äžè¬çãªã»ãã¥ãªãã£ã®æ¬ é¥ã«ã€ããŠã³ãŒããåæã§ããŸããã€ã³ããŒãã¢ãµãŒã·ã§ã³ã¯ãæœåšçãªåãã¹ãããããã®ä»ã®ã»ãã¥ãªãã£åé¡ãç¹å®ããããã«äœ¿çšã§ããåæ å ±ãæäŸããããšã§ãéçè§£æããŒã«ãæ¯æŽã§ããŸãã
ã±ãŒã¹ã¹ã¿ãã£ãšå®äžçã®äŸ
ã€ã³ããŒãã¢ãµãŒã·ã§ã³ã®éèŠæ§ãããã«èª¬æããããã«ãããããã»ãã¥ãªãã£è匱æ§ãé²ãããã«ã©ã®ããã«äœ¿çšã§ããããããã€ãã®ã±ãŒã¹ã¹ã¿ãã£ãšå®äžçã®äŸãæ€èšŒããŠã¿ãŸãããã
ã±ãŒã¹ã¹ã¿ãã£1ïŒEã³ããŒã¹ã¢ããªã±ãŒã·ã§ã³ã§ã®ããŒã¿æŒæŽ©ã®é²æ¢
ããEã³ããŒã¹ã¢ããªã±ãŒã·ã§ã³ã¯ãAPIããŒãããŒã¿ããŒã¹ã®èªèšŒæ å ±ãªã©ã®æ©å¯æ å ±ãä¿åããããã«JSONãã¡ã€ã«ã䜿çšããŠããŸããã€ã³ããŒãã¢ãµãŒã·ã§ã³ããªããã°ãæªæã®ããã¢ã¯ã¿ãŒããã®JSONãã¡ã€ã«ãããã®æ å ±ãçã¿åºããŠãªã¢ãŒããµãŒããŒã«éä¿¡ããã³ãŒããå«ãJavaScriptãã¡ã€ã«ã«çœ®ãæããå¯èœæ§ããããŸããã€ã³ããŒãã¢ãµãŒã·ã§ã³ã䜿çšããããšã§ãã¢ããªã±ãŒã·ã§ã³ã¯èšå®ãã¡ã€ã«ãåžžã«JSONãã¡ã€ã«ãšããŠèªã¿èŸŒãŸããããšãä¿èšŒãããã®æ»æãé²ãããšãã§ããŸãã
ã±ãŒã¹ã¹ã¿ãã£2ïŒã³ã³ãã³ã管çã·ã¹ãã (CMS) ã§ã®ã¯ãã¹ãµã€ãã¹ã¯ãªããã£ã³ã° (XSS) æ»æã®é²æ¢
CMSã¯ããŠãŒã¶ãŒãæ§ã ãªãœãŒã¹ããã³ã³ãã³ããã¢ããããŒãããåã蟌ãããšãèš±å¯ããŠããŸããã€ã³ããŒãã¢ãµãŒã·ã§ã³ããªããã°ãæªæã®ãããŠãŒã¶ãŒãCSSãã¡ã€ã«ã«èŠããããJavaScriptãã¡ã€ã«ãã¢ããããŒãããå¯èœæ§ãããããããä»ã®ãŠãŒã¶ãŒã®ãã©ãŠã¶ã®ã³ã³ããã¹ãã§å®è¡ãããXSSæ»æã«ã€ãªããå¯èœæ§ããããŸããã€ã³ããŒãã¢ãµãŒã·ã§ã³ã䜿çšããããšã§ãCMSã¯CSSãã¡ã€ã«ãåžžã«CSSã¢ãžã¥ãŒã«ãšããŠèªã¿èŸŒãŸããããšãä¿èšŒãããã®æ»æãé²ãããšãã§ããŸãã
å®äžçã®äŸïŒéèã¢ããªã±ãŒã·ã§ã³ã®ã»ãã¥ãªãã£ç¢ºä¿
ããéèã¢ããªã±ãŒã·ã§ã³ã¯ãè€éãªèšç®ãå®è¡ããããã«ãµãŒãããŒãã£ã©ã€ãã©ãªã䜿çšããŠããŸããã€ã³ããŒãã¢ãµãŒã·ã§ã³ããªããã°ãæªæã®ããã¢ã¯ã¿ãŒããã®ã©ã€ãã©ãªããèšç®ã«åŸ®åŠãªãšã©ãŒãå°å ¥ãã倿ŽãããããŒãžã§ã³ã«çœ®ãæããå¯èœæ§ãããããŠãŒã¶ãŒã«è²¡æ¿çæå€±ãããããå¯èœæ§ããããŸããã€ã³ããŒãã¢ãµãŒã·ã§ã³ã䜿çšããããšã§ãã¢ããªã±ãŒã·ã§ã³ã¯èªã¿èŸŒãŸããŠããã©ã€ãã©ãªãæåŸ ãããããŒãžã§ã³ãšåã§ããããšãæ€èšŒãããã®æ»æãé²ãããšãã§ããŸãã
çµè«
JavaScriptã®ã€ã³ããŒãã¢ãµãŒã·ã§ã³ã»ãã¥ãªãã£ã¢ãã«ãç¹ã«ã¢ãžã¥ãŒã«ã¿ã€ãã»ãã¥ãªãã£ã«é¢ãããã®ã¯ãå®å šãªãŠã§ãã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããã®æ¥µããŠéèŠãªããŒã«ã§ããã¢ãžã¥ãŒã«èªã¿èŸŒã¿æ®µéã§åå¶çŽã匷å¶ããããšã«ãããã€ã³ããŒãã¢ãµãŒã·ã§ã³ã¯ãŠã§ãã¢ããªã±ãŒã·ã§ã³ã®æ»æå¯Ÿè±¡é åãå€§å¹ ã«åæžããæ§ã ãªã»ãã¥ãªãã£è åšã«å¯Ÿããå ç¢ãªé²åŸ¡ãæäŸããŸãããã©ãŠã¶ã®äºææ§ã¯ãŸã é²åäžã§ãããã€ã³ããŒãã¢ãµãŒã·ã§ã³ã®å©ç¹ã¯èª²é¡ãã¯ããã«äžåããŸãããã¹ããã©ã¯ãã£ã¹ã«åŸããä»ã®ã»ãã¥ãªãã£å¯Ÿçãšé£æºããŠã€ã³ããŒãã¢ãµãŒã·ã§ã³ã䜿çšããããšã§ãéçºè ã¯ããå®å šã§å埩åã®ãããŠã§ãã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ã§ããŸãã
JavaScriptãšã³ã·ã¹ãã ãé²åãç¶ããã«ã€ããŠãææ°ã®ã»ãã¥ãªãã£ãã¹ããã©ã¯ãã£ã¹ãšãã¯ããã¯ã«ã€ããŠåžžã«æ å ±ãåŸãããšãäžå¯æ¬ ã§ããã€ã³ããŒãã¢ãµãŒã·ã§ã³ããã®ä»ã®ã»ãã¥ãªãã£å¯Ÿçãåãå ¥ããããšã§ãç§ãã¡ã¯ãã¹ãŠã®äººã«ãšã£ãŠããå®å šã§å®å¿ãªãŠã§ããæ§ç¯ããããšãã§ããŸãã