ã¡ã¢: ãã®è¨äºã®ã³ã³ãã³ãã¯ç¾å¨ä¸å®å ¨ã§ããç³ã訳ããã¾ããï¼ç§ãã¡ã¯ MDN ã¦ã§ãéçºã®å¦ç¿ã®ç« ã®æ¹åã«åªãã¦ãããéããªãã ("TODO") ã¨ãã¼ã¯ãããå ´æãå®äºããäºå®ã§ãã
ãã®ã¬ãã¹ã³ã§ã¯ãJavaScript ã®ãããã°ï¼ãä½ãééã£ã¦ãã?ãã§æåã«è¦ãå 容ï¼ã«æ»ãã¾ããããã§ã¯ãã¨ã©ã¼ãç¹å®ããããã®ãã¯ããã¯ãããã«æ·±ãæãä¸ãã¦ããã¾ãããåæã«ãåé¡ã«ç´é¢ããåã«é¿ããããã«ãé²å¾¡çã«ã³ã¼ãã使ããã³ã¼ãå ã®ã¨ã©ã¼ãå¦çããæ¹æ³ãè¦ã¦ããã¾ãã
åæç¥è: HTMLããã³CSS ã®åºç¤ãçè§£ããããã¾ã§ã®ã¬ãã¹ã³ã§èª¬æãã JavaScript ãææ¡ãã¦ãããã¨ã å¦ç¿ææ:console.log()
㨠console.error()
ã使ç¨ãããã¨ãtry...catch
ãthrow
ã使ç¨ããã¨ã©ã¼å¦çããã®ã¢ã¸ã¥ã¼ã«ã®ååã§ã¯ããä½ãééã£ã¦ãã?ãã§ã JavaScript ããã°ã©ã ã§çºçãããã¨ã©ã¼ã®ç¨®é¡ãåºãè¦ã¦ããããããã¯å¤§ã¾ãã«æ§æã¨ã©ã¼ã¨è«çã¨ã©ã¼ã® 2 種é¡ã«åé¡ã§ããã¨è¿°ã¹ã¾ãããã¾ãã JavaScript ã®ã¨ã©ã¼ã¡ãã»ã¼ã¸ã®ä¸è¬çãªç¨®é¡ãçè§£ããã®ã«å½¹ç«ã¤æ
å ±ãæä¾ãã console.log()
æã使ç¨ãã¦åç´ãªãããã°ãè¡ãæ¹æ³ã示ãã¾ããã
ãã®è¨äºã§ã¯ãã¨ã©ã¼ãç¹å®ããããã«å©ç¨ã§ãããã¼ã«ã«ã¤ãã¦ããå°ã詳ããè¦ã¦ãããã¾ããã¨ã©ã¼ãææããæåã®å ´æã§é²ãæ¹æ³ã«ã¤ãã¦ãè¦ã¦ããã¾ãã
ã³ã¼ãã®ãªã³ãã£ã³ã°ç¹å®ã®ã¨ã©ã¼ã追跡ããåã«ãã³ã¼ããæåã®æ®µéã§æå¹ã§ãããã¨ã確èªããå¿ è¦ãããã¾ãã W3C ã® Markup validation serviceãCSS validation serviceãJavaScriptãªã³ã¿ã¼ï¼ESLint ãªã©ï¼ã使ç¨ãã¦ãã³ã¼ããæå¹ã§ãããã¨ã確èªãã¾ããããããã«ãããå¤ãã®ã¨ã©ã¼ãæ´ãåºãããæ®ã£ãã¨ã©ã¼ã«éä¸ãããã¨ãã§ãã¾ãã
ã³ã¼ãã¨ãã£ã¿ã¼ãã©ã°ã¤ã³ã³ã¼ããã³ãã¼ãã¦ã¦ã§ããã¼ã¸ã«è²¼ãä»ãããã®æå¹æ§ãä½åº¦ã調ã¹ãªããã°ãªããªãã®ã¯ã¨ã¦ãä¸ä¾¿ã§ããããªããå®ã«æãã§ããã®ã¯ãæ¨æºçãªã¯ã¼ã¯ããã¼ã«æå°éã®æéã§é©åãããªã³ã¿ã¼ã§ããå¤ãã®ã³ã¼ãã¨ãã£ã¿ã¼ã«ã¯ãªã³ã¿ã¼ãã©ã°ã¤ã³ãããã¾ããã³ã¼ãã¨ãã£ã¿ã¼ã®ãã©ã°ã¤ã³ã¾ãã¯æ¡å¼µæ©è½ã®ãªã¹ãã§ ESLint ãæ¤ç´¢ããã¤ã³ã¹ãã¼ã«ãã¦ã¿ã¦ãã ããã
ãããã JavaScript ã®åé¡JavaScript ã§ããããåé¡ã¨ãã¦ã以ä¸ã®ãããªãã®ãããã¾ãã
this
ã¹ã³ã¼ããå¥ãªå¤æ°ã«ä¿åãããã®å¤æ°ãå
¥ãå颿°ã§ä½¿ç¨ããå
¸åçãªãã¿ã¼ã³ã示ãã¦ããã®ã§ãæ£ãã this
ã¹ã³ã¼ãã«æ©è½ãé©ç¨ãã¦ãããã¨ã確èªã§ãã¾ããä¾ãã°ã bad-for-loop.html ï¼ã½ã¼ã¹ã³ã¼ããåç
§ï¼ã§ã¯ã var
ã§å®ç¾©ãã夿°ã使ã£ã¦ 10 åã®å復å¦çãã«ã¼ããããã®ãã³ã«æ®µè½ã使ã㦠onclick ã¤ãã³ããã³ãã©ã¼ã追å ãã¦ãã¾ããã¯ãªãã¯ãããã¨ãããããã«ãã®çªå·ï¼ä½æããæç¹ã§ã® i
ã®å¤ï¼ãæ ¼ç´ããã¢ã©ã¼ãã¡ãã»ã¼ã¸ã表示ãããããã«ãã¾ãããªããªãã for
ã«ã¼ãã¯ãã¹ãããã颿°ãå¼ã³åºãåã«ãã¹ã¦ã®å復å¦çãè¡ãããã§ãã
æãç°¡åãªè§£æ±ºçã¯ãå復å¦ç夿°ã var
ã®ä»£ããã« let
ã§å®£è¨ãããã¨ã§ããåä½ãããã¼ã¸ã§ã³ã«ã¤ãã¦ã¯ good-for-loop.html ï¼ã½ã¼ã¹ã³ã¼ããåç
§ï¼ãåç
§ãã¦ãã ããã
await
ãé©åã«ä½¿ç¨ãããããããã¹ã® then()
ãã³ãã©ã¼ã§éåæå¼ã³åºãã®çµæãå¦çããã³ã¼ããå®è¡ãã¾ãããã®ãããã¯ã®åå¿è
åãè¨äºã¯ããããã¹ã®ä½¿ç¨æ¹æ³ãåç
§ãã¦ãã ãããã¡ã¢: Buggy JavaScript Code: The 10 Most Common Mistakes JavaScript Developers Make ã«ã¯ããããã®ããããééãã«ã¤ãã¦ã®è§£èª¬ãªã©ãããã¾ãã
ãã©ã¦ã¶ã¼ã® JavaScript ã³ã³ã½ã¼ã«ãã©ã¦ã¶ã¼ã®éçºè ãã¼ã«ã«ã¯ã JavaScript ã®ãããã°ãå©ãã便å©ãªæ©è½ãããããããã¾ããæå§ãã«ã JavaScript ã³ã³ã½ã¼ã«ã¯ã³ã¼ãã®ã¨ã©ã¼ãå ±åãã¦ããã¾ãã
fetch-broken ã®ãµã³ãã«ããã¼ã«ã«ã«ã³ãã¼ãã¦ãã ããï¼ã½ã¼ã¹ã³ã¼ããåç §ãã¦ãã ããï¼ã
ã³ã³ã½ã¼ã«ãè¦ãã¨ãã¨ã©ã¼ã¡ãã»ã¼ã¸ã表示ããã¾ããæ£ç¢ºãªæè¨ã¯ãã©ã¦ã¶ã¼ã«ããã¾ããã "Uncaught TypeError: heroes is not iterable" ã®ãããªãã®ã§ããåç §ããã¦ããè¡çªå·ã¯ 25 ã§ããã½ã¼ã¹ã³ã¼ããè¦ãã¨ãé¢é£ããã³ã¼ãã»ã¯ã·ã§ã³ã¯æ¬¡ã®ã¨ããã§ãã
function showHeroes(jsonObj) {
const heroes = jsonObj["members"];
for (const hero of heroes) {
// ...
}
}
ããªãã¡ã jsonObj
ï¼æå¾
éãã JSON ãªãã¸ã§ã¯ãã§ããã¯ãã§ãï¼ã使ç¨ãããã¨ããã¨ãããã«ã³ã¼ããå´©ãã¦ãã¾ãã¾ããããã¯ãå¤é¨ã® .json
ãã¡ã¤ã«ããã以ä¸ã® fetch()
å¼ã³åºãã使ç¨ãã¦åå¾ãããã¨ã«ãªã£ã¦ãã¾ãã
const requestURL =
"https://mdn.github.io/learning-area/javascript/oojs/json/superheroes.json";
const response = fetch(requestURL);
populateHeader(response);
showHeroes(response);
ãã ããããã¯å¤±æãã¾ãã
ã³ã³ã½ã¼ã« APIãã®ã³ã¼ãã®ä½ãåé¡ãªã®ãããããåããããããã¾ããããããã調æ»ããæ¹æ³ã示ãããã«ãããå°ã調ã¹ã¦ã¿ã¾ããããæå§ãã«ãã³ã³ã½ã¼ã« API ã使ã£ã¦ã JavaScript ã³ã¼ãããã©ã¦ã¶ã¼ã«ãã JavaScript ã³ã³ã½ã¼ã«ã¨å¯¾è©±ãããã¨ãã§ãã¾ããå©ç¨ã§ããæ©è½ã¯ããããããã¾ãããä¸çªå¤ã使ç¨ããã®ã¯ console.log()
ã§ãã³ã³ã½ã¼ã«ã«ç¬èªã®ã¡ãã»ã¼ã¸ãåºåãã¾ãã
次ã®ããã«ã console.log()
å¼ã³åºãã追å ãã fetch()
ã®è¿å¤ããã°åºåãã¦ã¿ã¦ãã ããã
const requestURL =
"https://mdn.github.io/learning-area/javascript/oojs/json/superheroes.json";
const response = fetch(requestURL);
console.log(`Response value: ${response}`);
const superHeroes = response;
populateHeader(superHeroes);
showHeroes(superHeroes);
ãã©ã¦ã¶ã¼ã®ãã¼ã¸ãæ´æ°ãã¦ãã ãããä»åº¦ã¯ãã¨ã©ã¼ã¡ãã»ã¼ã¸ã®åã«ãã³ã³ã½ã¼ã«ã«è¨é²ãããæ°ããã¡ãã»ã¼ã¸ã表示ããã¾ãã
Response value: [object Promise]
console.log()
ã®åºåã¯ã fetch()
ã®è¿å¤ã JSON ãã¼ã¿ã§ã¯ãªã Promise
ã§ãããã¨ã示ãã¦ãã¾ãã fetch()
颿°ã¯éåæã§ãããããã¯ã¼ã¯ããå®éã®ã¬ã¹ãã³ã¹ãåãåã£ãã¨ãã«ã®ã¿å±¥è¡ããã Promise
ãè¿ãã¾ããã¬ã¹ãã³ã¹ã使ç¨ãããã¨ãã§ãã¾ããããã®åã« Promise
ãå±¥è¡ãããã®ãå¾
ã¤å¿
è¦ãããã¾ãã
ãããè¡ãã«ã¯ãè¿ããã Promise
ã® then()
ã¡ã½ããå
ã«ã¬ã¹ãã³ã¹ã使ç¨ããã³ã¼ããè¨è¿°ãã¦ãã ããã
const response = fetch(requestURL);
fetch(requestURL).then((response) => {
populateHeader(response);
showHeroes(response);
});
ã¾ã¨ããã¨ãä½ããã¾ãåä½ããªãã¨ãããã³ã¼ãã®ããç¹ã§å¤ãæå³ãã¦ããå¤ã«ãªã£ã¦ããªãããã«è¦ããã¨ãã¯ãã¤ã§ãã console.log()
ã使ç¨ãã¦ãããåºåããä½ãèµ·ãã£ã¦ããã®ãã確èªãããã¨ãã§ãã¾ãã
æ®å¿µãªãããã¾ã åãã¨ã©ã¼ãåºã¦ãã¾ãããã©ã¦ã¶ã¼éçºè ãã¼ã«ã®ããæ´ç·´ãããæ©è½ã Firefox ã§ããã¨ããã® JavaScript ãããã¬ã¼ã使ã£ã¦ããã®åé¡ã調æ»ãã¦ã¿ã¾ãããã
ã¡ã¢: ä»ã®ãã©ã¦ã¶ã¼ã§ãä¼¼ããã¼ã«ãå©ç¨ã§ãã¾ãã Chrome ã®ã½ã¼ã¹ã¿ãã Safari ã® Debugger ï¼Safari Web Development Toolsãåç §ï¼ãªã©ã§ãã
Firefoxã§ã¯ããããã¬ã¼ã¿ãã¯æ¬¡ã®ããã«ãªãã¾ãã
ãã®ãããªãã¼ã«ã®ä¸»ãªç¹å¾´ã¯ãã³ã¼ãã«ãã¬ã¼ã¯ãã¤ã³ãã追å ã§ãããã¨ã§ãããã¬ã¼ã¯ãã¤ã³ãã¨ã¯ãã³ã¼ãã®å®è¡ã忢ããä½ç½®ã®ãã¨ã§ããã®ä½ç½®ã§ç¾å¨ã®ç¶æ ã®ç°å¢ã調ã¹ãä½ãèµ·ãã£ã¦ãããã確èªãããã¨ãã§ãã¾ãã
ãã£ãããã£ã¦ã¿ã¾ããããã¨ã©ã¼ã¯ç¾å¨ 26 è¡ç®ã§çºçãã¦ãã¾ããä¸å¤®ã®ããã«ã§ 26 è¡ç®ãã¯ãªãã¯ãããã¬ã¼ã¯ãã¤ã³ãã追å ãã¦ãã ããï¼ä¸çªä¸ã«éãç¢å°ã表示ããã¾ãï¼ããã¼ã¸ãæ´æ°ãã¦ã¿ã¦ãã ãã (Cmd/Ctrl + R)ããã©ã¦ã¶ã¼ã¯ 26 è¡ç®ã§ã³ã¼ãã®å®è¡ã䏿忢ãã¾ãããã®æç¹ã§å³å´ãæ´æ°ãããã¨ã¦ãæçãªæ å ±ã表示ããã¾ãã
showHeroes()
ãããã 2 ã¤ç®ã«ã¯ onload
ããããªãã¡ showHeroes()
ã®å¼ã³åºããå«ãã§ããã¤ãã³ããã³ãã©ã¼é¢æ°ãããã¾ããshowHeroes
ãblock
ãWindow
ï¼ã°ãã¼ãã«ã¹ã³ã¼ãï¼ã® 3 ã¤ã®ã¿æå®ããã¾ãããããããã®ã¹ã³ã¼ãã¯å±éããããã¨ãã§ããã³ã¼ãã®å®è¡ã忢ããã¨ãã®ã¹ã³ã¼ãå
ã®å¤æ°ã®å¤ã表示ããããã¨ãã§ãã¾ããç§ãã¡ã¯ããã§ã¨ã¦ãæçãªæ å ±ãå¾ããã¨ãã§ãã¾ãã
showHeroes
ã¹ã³ã¼ããå±éãã¦ãã ããããããè¦ãã¨ã夿° heroes ã undefined
ã«ãªã£ã¦ããã jsonObj
ã® members
ããããã£ã¸ã®ã¢ã¯ã»ã¹ï¼é¢æ°ã® 1 è¡ç®ï¼ããã¾ããã£ã¦ããªããã¨ããããã¾ããjsonObj
夿°ã«ã¯ã JSON ãªãã¸ã§ã¯ãã§ã¯ãªãã Response
ãªãã¸ã§ã¯ããæ ¼ç´ããã¦ãããã¨ããããã¾ããshowHeroes()
ã®å¼æ°ã¯ fetch()
ã®ãããã¹ãå±¥è¡ãããå¤ã§ããã¤ã¾ãããã®ãããã¹ã¯ JSON å½¢å¼ã§ã¯ãªãã Response
ãªãã¸ã§ã¯ãã§ããã¬ã¹ãã³ã¹ã®å
容ã JSON ãªãã¸ã§ã¯ãã¨ãã¦åå¾ããã«ã¯ã追å ã®ã¹ããããå¿
è¦ã§ãã
ããªãèªèº«ã§ãã®åé¡ã解決ãã¦ã¿ã¦ãã ãããã¾ã㯠Response
ãªãã¸ã§ã¯ãã®ããã¥ã¡ã³ããã覧ãã ãããããè¡ãè©°ã¾ã£ããã https://github.com/mdn/learning-area/blob/main/tools-testing/cross-browser-testing/javascript/fetch-fixed ã«ä¿®æ£ãããã½ã¼ã¹ã³ã¼ããããã¾ãã
ã¡ã¢: ãããã¬ã¼ã®ã¿ãã«ã¯ãä¾ãã°æ¡ä»¶ä»ããã¬ã¼ã¯ãã¤ã³ããã¦ã©ããå¼ãªã©ãããã§ã¯æå®ã ã¦ããªãä»ã«ãæçãªæ©è½ãããããããã¾ããããå¤ãã®æ å ±ã«ã¤ãã¦ã¯ããããã¬ã¼ãã¼ã¸ãåç §ãã¦ãã ããã
ã³ã¼ãå ã§ JavaScript ã®ã¨ã©ã¼ãå¦çHTML 㨠CSS ã¯å¯å®¹ãªè¨èªã§ããã¨ã©ã¼ãèªèãããªãæ©è½ããã£ã¦ãããã®è¨èªã®æ§è³ªä¸ãå¦çã§ãããã¨ãããããã¾ããä¾ãã°ã CSS ã¯èªèãããªãããããã£ãç¡è¦ããæ®ãã®ã³ã¼ãã¯åä½ãããã¨ãããããã¾ãããããã JavaScript 㯠HTML ã CSS ã»ã©å¯å®¹ã§ã¯ããã¾ããã JavaScript ã¨ã³ã¸ã³ãã¨ã©ã¼ãèªèãããªãæ§æã«ééããã¨ãå¤ãã®å ´åãã¨ã©ã¼ãçºçãã¾ãã
ã³ã¼ãã§ JavaScript ã¨ã©ã¼ãå¦çããã«ã¯ããã¤ãæ¹æ³ãããã¾ããæãä¸è¬çãªãã®ãè¦ã¦ããã¾ãããã
æ¡ä»¶æTODO
try...catchTODO
throw ã§ã¨ã©ã¼ãçºçãããTODO
æ©è½æ¤åºæ©è½æ¤åºã®èãã¯ãJavaScript ã®ããæ©è½ã«ç¾å¨ã®ãã©ã¦ã¶ã¼ã対å¿ãã¦ãããã©ããã夿ãããã¹ããå®è¡ãããã®æ©è½ã«å¯¾å¿ãã¦ãããã©ã¦ã¶ã¼ã§ã対å¿ãã¦ããªããã©ã¦ã¶ã¼ã§ãåãå
¥ãããããµã¼ãã¹ãæä¾ããã³ã¼ããæ¡ä»¶ä»ãã§å®è¡ãããã¨ãã§ããã¨ãããã¨ã§ããç°¡åãªä¾ã¨ãã¦ãä½ç½®æ
å ± APIï¼ã¦ã§ããã©ã¦ã¶ã¼ãåä½ãã¦ãã端æ«ã§å©ç¨å¯è½ãªä½ç½®æ
å ±ãå
¬éããï¼ã«ã¯ããããå©ç¨ããããã®ä¸»è¦ã¨ã³ããªã¼ãã¤ã³ããã¤ã¾ãã°ãã¼ãã«ãª Navigator ãªãã¸ã§ã¯ãã§å©ç¨å¯è½ãª geolocation
ããããã£ãæã£ã¦ãã¾ãããããã£ã¦ã以ä¸ã®ããã«ä½¿ç¨ãããã¨ã§ããã©ã¦ã¶ã¼ãä½ç½®æ
å ±ã«å¯¾å¿ãã¦ãããã©ãããæ¤åºãããã¨ãã§ãã¾ãã
if ("geolocation" in navigator) {
navigator.geolocation.getCurrentPosition((position) => {
// ãããã Google Maps API ã使ç¨ããå°å³ä¸ã«å ´æã表示ããã
});
} else {
// ã¦ã¼ã¶ã¼ã«éçå°å³ã®é¸æè¢ãä¸ãã
}
ãã«ããæ¢ã
JavaScriptï¼ããã³ HTML 㨠CSSï¼ã§ã¯ä»ã«ãå¤ãã®èª²é¡ãããã¾ãããªã³ã©ã¤ã³ã§çããæ¢ãæ¹æ³ã«ã¤ãã¦ã®ç¥èã¯é常ã«è²´éã§ãã
対å¿ãã¦ããæ å ±æºã¨ãã¦æé©ãªã®ã¯ãMDNï¼ã¤ã¾ããããªããä»ããå ´æã§ãï¼ï¼ãstackoverflow.comãcaniuse.com ãªã©ã§ãã
è£å©çãªãã®ã¨ãã¦ãåé¡ã®è§£æ±ºçã調ã¹ãããã«ããæ°ã«å ¥ãã®æ¤ç´¢ã¨ã³ã¸ã³ã§æ¤ç´¢ãã¦ã¿ã¦ãã ããã ç¹å®ã®ã¨ã©ã¼ã¡ãã»ã¼ã¸ããæã¡ã®å ´åã¯ããããæ¤ç´¢ããã¨å½¹ç«ã¤ãã¨ãå¤ãã§ããããä»ã«ããããªãã¨åãåé¡ãæ±ãã¦ããéçºè ã¯å¤ãã§ãããã
ã¾ã¨ã以ä¸ã JavaScript ã§ã®ãããã°ã¨ã¨ã©ã¼å¦çã§ããåç´ã§ãããï¼ ããã»ã©åç´ã§ã¯ãªãããããã¾ãããããã®è¨äºã¯å°ãªãã¨ãåºçºç¹ã¨ãªãã JavaScript ã«é¢é£ããåé¡ã«åãçµãããã®ã¢ã¤ãã£ã¢ãããã¤ãä¸ãã¦ãããã¯ãã§ãã
JavaScript ã¢ã¸ã¥ã¼ã«ã使ã£ãåçã¹ã¯ãªããã«ã¤ãã¦ã¯ä»¥ä¸ã§ãããç²ãæ§ã§ãããæ¬¡ã®ã¢ã¸ã¥ã¼ã«ã§ã¯ãJavaScript ãã¬ã¼ã ã¯ã¼ã¯ãã©ã¤ãã©ãªã¼ã«ã¤ãã¦å½¹ç«ã¤æ å ±ãæä¾ãã¾ãã
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4