ð± åºæïŒã³ãŒãã¯åãã€ããªãããæåŸ éãã«åããªãïŒ
ããªãã¯ã€ãã«ãHTMLãCSSãDOMæäœãéåæåŠçãã¯ã©ã¹èšèšãšãã£ãããã¹ãŠã®æŠåšãæã«å ¥ããŸãããããããã©ããªã«å®ç§ãªããã°ã©ããŒã§ãã**ãã°ïŒäžå ·åïŒ**ã¯å¿ ãçºçããŸãã
ã³ãŒããæžããŠãããšãããªãããã¿ã³ãåå¿ããªããã倿°ã®å€ãéäžã§å€ãã£ãŠããããAPIããååŸããã¯ãã®ããŒã¿ã衚瀺ãããªãããšãã£ãåé¡ã«ã¶ã€ãããŸãã
ããã°ã©ããŒã«ãšã£ãŠããã°ä¿®æ£ïŒãããã°ïŒã¯æ¥åžžæ¥åã®ååãå ãããšèšã£ãŠãéèšã§ã¯ãããŸããããã®ãããã°ãçŽ æ©ããç確ã«è¡ãèœåããããéçºã¹ããŒããåçã«äžããéµãšãªããŸãã
ä»åã¯ãJavaScriptéçºã§æã匷åãªãããã°ããŒã«ã§ãã**ãã©ãŠã¶ã®éçºè ããŒã«ïŒDeveloper ToolsïŒ**ã䜿ãããªãããã°ãæããããããæ¥œããã§è§£æ±ºããããã®å¿ 殺ãã¯ããã¯ãäŒæããŸãïŒ
1. ð ãŸãã¯ç¶æ³ææ¡ïŒconsole.log()ã®æ£ããäœ¿ãæ¹
ãããã°ã®åºæ¬ã¯ãããã°ã©ã ã®å®è¡äžã«**ãäœãèµ·ãã£ãŠãããã**ãææ¡ããããšã§ãããããŸã§ã«ã䜿ã£ãŠããconsole.log()ã¯ããã®ããã®æãåºæ¬çãªããŒã«ã§ãã
ãã ãããã 倿°ã衚瀺ããã ãã§ãªãã**ãã©ãã§ãäœã®å€ã確èªããŠãããã**ãæç¢ºã«ããããšãéèŠã§ãã
JavaScript
// â æªãäŸ: ã©ãã§åºåããããåãããªã
console.log(data);
// â
è¯ãäŸ: åºåå
ãšæå³ãæç¢º
console.log("--- fetchAndDisplayUser 颿°å
---");
console.log("ååŸãããŠãŒã¶ãŒããŒã¿:", userData);
console.log("ãã°ã€ã³ç¶æ
:", userData.isLoggedIn);
ç¹ã«ãªããžã§ã¯ããé åã衚瀺ãããšãã¯ãå¿ ãååãä»ããŠåºåããŸããããããã ãã§ãã³ã³ãœãŒã«ç»é¢ã§ã®èŠèªæ§ãåçã«åäžããŸãã
2. ð¡ïž æåŒ·ã®æŠåšïŒéçºè ããŒã«ãšãã¬ãŒã¯ãã€ã³ã
console.log()ã¯äŸ¿å©ã§ãããã³ãŒãã®å®è¡ã**ãäžæåæ¢ãããŠããã®æç¹ã®ãã¹ãŠã®å€æ°ã®äžèº«ããã³ãŒãã®æµãã詳现ã«ç¢ºèªã§ãããããã«åŒ·åãªããŒã«ããããŸãããããããã©ãŠã¶ã®éçºè
ããŒã«**ã®ãSourcesãïŒãœãŒã¹ïŒã¿ãã§ãã
ð ã¹ããã1ïŒéçºè ããŒã«ã®èµ·åãšãœãŒã¹è¡šç€º
ã»ãšãã©ã®ãã©ãŠã¶ã§ã以äžã®æäœã§éçºè ããŒã«ãéããŸãã
- Windows:
F12ã㌠ãŸãã¯Ctrl + Shift + I - Mac:
Cmd + Option + I
éããããäžéšã¡ãã¥ãŒã®ãSourcesãïŒãŸãã¯ããœãŒã¹ãïŒã¿ããéžæãããããã°ãããJavaScriptãã¡ã€ã«ïŒäŸïŒapp.jsïŒãéããŸãã
ð ã¹ããã2ïŒãã¬ãŒã¯ãã€ã³ãïŒBreakpointïŒã®èšå®
ãã¬ãŒã¯ãã€ã³ããšã¯ããããã°ã©ã ã®å®è¡ãäžæçã«æ¢ãããè¡ãã«èšå®ããç®å°ã®ããšã§ãã
- ã³ãŒãã衚瀺ããŠããç»é¢ã§ãè¡çªå·ã®æšªãã¯ãªãã¯ããŸãã
- éãããŒã¯ïŒãã¬ãŒã¯ãã€ã³ãïŒãã€ãããèšå®å®äºã§ãã
ããã°ã©ã ããã®è¡ã«å°éãããšãå®è¡ãäžæåæ¢ããŸãã
ð ã¹ããã3ïŒã³ãŒãã®æµãã远ãïŒã¹ãããå®è¡ïŒ
ãã¬ãŒã¯ãã€ã³ãã§åæ¢ããåŸãéçºè ããŒã«äžéšã«ãããã¿ã³ã䜿ã£ãŠãã³ãŒããäžè¡ãã€é²ãããã颿°ã®äžã«å ¥ã£ããããŠããã®æç¹ã§ã®å€æ°ã®å€ã確èªã§ããŸãã
| ãã¿ã³ | åœ¹å² |
| â¶ïž (Continue) | 次ã®ãã¬ãŒã¯ãã€ã³ããŸã§äžæ°ã«å®è¡ãåé |
| â¬ïž (Step Over) | 次ã®è¡ã«é²ãïŒé¢æ°ã®äžã«ã¯å ¥ããªãïŒ |
| âªïž (Step Into) | 颿°ã®äžã«å ¥ãããã®é¢æ°ã®å éšãäžè¡ãã€è¿œã |
Google ã¹ãã¬ããã·ãŒãã«ãšã¯ã¹ããŒã
å®è¡ã忢ããŠããéãç»é¢å³åŽã®ãScopeãïŒã¹ã³ãŒãïŒããã«ãèŠãã°ãããŒã«ã«å€æ°ïŒlet, constïŒãã°ããŒãã«å€æ°ã®çŸåšã®å€ããªã¢ã«ã¿ã€ã ã«ç¢ºèªã§ããŸããããã«ãããã倿°ãæå³ããæžãæãã£ãŠããç¬éããç¹å®ã§ããã®ã§ãã
3. ð ãã®ä»ã®ãããã°ãã¯ããã¯
3-1. ãšã©ãŒã¡ãã»ãŒãžã®èªã¿æ¹
ãšã©ãŒãçºçãããšãã¯ãConsoleïŒã³ã³ãœãŒã«ïŒã¿ãã«åºåãããã¡ãã»ãŒãžãå·éã«èªã¿ãŸãããã
Uncaught TypeError: Cannot read properties of undefined (reading 'name')ïŒ- åå :
nameãšããããããã£ãèªã¿èŸŒãããšãããããã®èŠªãšãªããªããžã§ã¯ããundefinedïŒæªå®çŸ©ïŒã ã£ãã - 察ç:
nameãèªã¿èŸŒãåã«ããªããžã§ã¯ãèªäœãnullãundefinedã§ãªãã確èªããã
- åå :
ReferenceError: myVariable is not definedïŒ- åå : ååšããªã倿°åã䜿ã£ãŠããããã¹ã³ãŒãå€ããã¢ã¯ã»ã¹ããããšããŠããã
- 察ç: 倿°åã®ã¹ãã«ãã¹ã確èªãããã
letãconstã§å®£èšãããŠããã確èªããã
ãšã©ãŒã¡ãã»ãŒãžã®å³ç«¯ã«è¡šç€ºãããŠãããã¡ã€ã«åãšè¡æ°ãã¯ãªãã¯ãããšãã³ãŒãã®ãšã©ãŒç®æã«ãžã£ã³ãã§ããŸãã
3-2. debuggerããŒã¯ãŒã
ã³ãŒãã®äžã«debugger;ãšèšè¿°ãããšããã¬ãŒã¯ãã€ã³ããèšå®ããŠããªããŠãããã®è¡ã§èªåçã«ããã°ã©ã ãäžæåæ¢ãããããšãã§ããŸããäžæçã«ãããã°ããããšãã«äŸ¿å©ã§ãã
JavaScript
function processData(data) {
// ããã§æ¢ãããïŒ
debugger;
// ... åŠçã远ã ...
}
ð ãŸãšãïŒãããã°ã¯ãç¯äººæ¢ããã§ã¯ãªããçŸç¶ç¢ºèªã
ãããã°ã¯ãã³ãŒããæåŸ éãã«åããªããšãã«ãç¯äººæ¢ãããããã®ã§ã¯ãªãããå®è¡ã®éçšã§å€æ°ã®å€ãã©ãå€åããŠãããããæ£ç¢ºã«ç¢ºèªããäœæ¥ã§ãã
console.log()ïŒç°¡æœãªãã°åºåã§å€§ãŸããªæµããææ¡ã- ãã¬ãŒã¯ãã€ã³ãïŒå®è¡ãäžæåæ¢ãããã®ç¬éã®å€æ°ã®ç¶æ ãå šãŠç¢ºèªã
Scopeããã«ïŒåæ¢äžã®å€æ°ã®å€ããªã¢ã«ã¿ã€ã ã«ç£èŠã
ãã®ãããã°è¡ããã¹ã¿ãŒããã°ãããªãã¯ãããã°ãæããå¿ èŠã¯ãããŸããããããããã°ã楜ãã¿ãªãã解決ã§ãããçã®ããã°ã©ããŒãžãšé²åã§ããã§ãããïŒ

