JavaScript ã¯ãç¹ã«å¶å¾¡ããã¼æã«ã¤ãã¦ã¯ã³ã³ãã¯ããªæã®ã»ããã«å¯¾å¿ãã¦ãããã¢ããªã±ã¼ã·ã§ã³ã«å¤æ§ãªå¯¾è©±çæ©è½ãçµã¿è¾¼ãããã«å©ç¨ãããã¨ãã§ãã¾ãããã®ç¯ã§ã¯ãããã®æã®æ¦è¦ã説æãã¾ãã
JavaScript ãªãã¡ã¬ã³ã¹ã«ã¯ããã®ç« ã§ç´¹ä»ããæã«ã¤ãã¦ã®å®å
¨ãªè©³ç´°ãè¼ã£ã¦ãã¾ããã¾ããJavaScript ã®ã³ã¼ãã§ã¯ã»ãã³ãã³ (;
) æåã§æãåºåãã¾ãã
ãããã JavaScript ã®å¼ã¯ãæã§ãããã¾ãã å¼ã«é¢ãã詳細ã«ã¤ãã¦ã¯å¼ã¨æ¼ç®åãåç §ãã¦ãã ããã
ãããã¯ææãåºæ¬çãªæã¯ããããã¯æãã§ãæã®ã°ã«ã¼ãåã«ä½¿ãã¾ãããããã¯ã¯ãä¸çµã®æ³¢æ¬å¼§ã§åºåããã¾ãã
{
statement1;
statement2;
// â¦
statementN;
}
ä¾
ãããã¯æã¯ä¸è¬ã«å¶å¾¡ããã¼æ (if
, for
, while
) ã§ç¨ãããã¾ãã
ããã§ã¯ { x++; }
ããããã¯æã¨ãªãã¾ãã
ã¡ã¢: var
ã§å®£è¨ããã夿°ã¯ããããã¯ã¹ã³ã¼ãã§ã¯ãªãããããå«ã颿°ãã¹ã¯ãªããã®ã¹ã³ã¼ãã¨ãªãããããã®å¤æ°ãè¨å®ããå½±é¿ã¯ããã®ãããã¯ãè¶ãã¦æç¶ãã¾ããæ¬¡ã®ä¾ãåç
§ãã¦ãã ããã
var x = 1;
{
var x = 2;
}
console.log(x); // 2 ãåºå
ããã§ 2
ãåºåãããã®ã¯ããããã¯å
ã® var x
æããããã¯ã®åã® var x
æã¨åãã¹ã³ã¼ãå
ã«ããããã§ããï¼C ã Java ã§ã¯ãåæ§ã®ã³ã¼ãã§ 1
ãåºåããã¾ããï¼
ãã®ã¹ã³ã¼ãã®åé¡ã¯ã let
ã const
ã使ç¨ããã¨æ¹åããã¾ãã
æ¡ä»¶æã¯ãæå®ããæ¡ä»¶ãçã®å ´åã«å®è¡ããå½ä»¤ã®éã¾ãã§ããJavaScript 㯠if...else
㨠switch
ã® 2 ã¤ã®æ¡ä»¶æã«å¯¾å¿ãã¦ãã¾ãã
if
ã使ç¨ããã¨ãè«çæ¡ä»¶ã true
ã®å ´åã«æãå®è¡ãããã¨ãã§ãã¾ããä»»æã® else
ç¯ã使ç¨ããã¨ãæ¡ä»¶ã false
ã®å ´åã«ãæãå®è¡ãããã¨ãã§ãã¾ãã
if
æã¯æ¬¡ã®ããã«ä½¿ç¨ãã¾ãã
if (condition) {
statement1;
} else {
statement2;
}
ããã§ condition
ã¯ãtrue
ã¾ã㯠false
ã¨è©ä¾¡ãããä»»æã®å¼ã«ãããã¨ãã§ãã¾ããï¼true
㨠false
ã®è©ä¾¡ã®èª¬æã«ã¤ãã¦ã¯ã Boolean ãåç
§ãã¦ãã ãããï¼
æ¡ä»¶ã true
ã¨è©ä¾¡ãããå ´åãstatement1
ãå®è¡ããã¾ããããã§ãªããã°ãstatement2
ãå®è¡ããã¾ããstatement1
㨠statement2
ã¯ãå
¥ãåã«ãªã£ã if
æãå«ãã¦ãä»»æã®æã«ãããã¨ãã§ãã¾ãã
以ä¸ã®ããã«ã else if
ã使ç¨ããæãçµã¿åããã¦ãè¤æ°ã®æ¡ä»¶ãé çªã«æ¤æ»ãããã¨ãã§ãã¾ãã
if (condition1) {
statement1;
} else if (condition2) {
statement2;
} else if (conditionN) {
statementN;
} else {
statementLast;
}
è¤æ°ã®æ¡ä»¶ãããå ´åãtrue
ã¨è©ä¾¡ãããæåã®è«çæ¡ä»¶ã®ã¿ãå®è¡ããã¾ããè¤æ°ã®æãå®è¡ããã«ã¯ããããã¯æ ({ /* ⦠*/ }
) å
ã«ã°ã«ã¼ãåãã¾ãã
ä¸è¬çã«ã常ã«ãããã¯æã使ç¨ããã®ãåªããæ¹æ³ã§ããç¹ã« if
æãå
¥ãåã«ããã³ã¼ãã§æå¹ã§ãã
if (condition) {
// æ¡ä»¶ã true ã®ã¨ãã«å®è¡ãããæ
// â¦
} else {
// æ¡ä»¶ã false ã®ã¨ãã«å®è¡ãããæ
// â¦
}
ä¸è¬çã«ã if...else
ã®æ¡ä»¶ã« x = y
ã®ãããªä»£å
¥æã使ç¨ããªãã®ããã¹ããã©ã¯ãã£ã¹ã§ãã
if (x = y) {
/* ããã«æãæ¥ã */
}
ãããããã¾ã«ãã®ãããªæ¸ãæ¹ãããããªããããªå ´åãããã§ããããä¾ãã°ã while
ã®ããã¥ã¡ã³ãã«ã¯ä»£å
¥ãæ¡ä»¶ã¨ãã¦ä½¿ç¨ã¨ããç¯ããããç¥ã£ã¦ããã¹ããå¾ãã¹ãä¸è¬çãªãã¹ããã©ã¯ãã£ã¹ã®æ§æã®æ¡å
ãããã¾ãã
以ä¸ã®å¤ã¯ false
ã¨è©ä¾¡ããã¾ãï¼ã¾ããå½å¤ã¨ãå¼ã°ãã¾ãï¼ã
false
undefined
null
0
NaN
""
)ä¸è¨ä»¥å¤ã®âãªãã¸ã§ã¯ããå«ãâãã¹ã¦ã®å¤ã¯ãæ¡ä»¶æã«æ¸¡ããã㨠true
ã¨è©ä¾¡ããã¾ãã
ã¡ã¢: ããªããã£ããªè«çå¤ã® true
㨠false
ããBoolean
ãªãã¸ã§ã¯ãã® true ã false ã¨ããå¤ã¨æ··åããªãã§ãã ããã
ä¾:
const b = new Boolean(false);
if (b) {
// ãã®æ¡ä»¶ã¯ true ã«è©ä¾¡ããã
}
if (b == true) {
// ãã®æ¡ä»¶ã¯ false ã«è©ä¾¡ããã
}
ä¾
次ã®ä¾ã§ã颿° checkData
㯠Text
ãªãã¸ã§ã¯ãã«å«ã¾ãã¦ããæåæ°ã 3 ã§ããå ´åã« true
ãè¿ããããã§ãªãå ´åã¯ã¢ã©ã¼ãã表示ã㦠false
ãè¿ãã¾ãã
function checkData() {
if (document.form1.threeChar.value.length === 3) {
return true;
} else {
alert(
`Enter exactly three characters. ${document.form1.threeChar.value} is not valid.`,
);
return false;
}
}
switch æ
switch
æã使ãã¨ãããã°ã©ã ã¯å¼ãè©ä¾¡ãããã®å¼ã®å¤ã case
ã©ãã«ã¨ç
§åãã¾ããä¸è´ããã¨ãããã°ã©ã ã¯ãã®ã©ãã«ã«é¢é£ä»ããããæãå®è¡ãã¾ãã
switch
æã¯æ¬¡ã®ããã«ãªãã¾ãã
switch (expression) {
case label1:
statements1;
break;
case label2:
statements2;
break;
// â¦
default:
statementsDefault;
}
JavaScript ã¯ä¸è¨ã® switch æã次ã®ããã«è©ä¾¡ãã¾ãã
case
ç¯ãæ¢ãããã®ç¯ã«å¶å¾¡ãç§»ãã¦ãé¢é£ä»ããããæãå®è¡ãã¾ããdefault
ç¯ãæ¢ãã¾ãã
default
ç¯ã«å¶å¾¡ãç§»ããé¢é£ä»ããããæãå®è¡ãã¾ããdefault
ç¯ãè¦ã¤ãããªãå ´åãããã°ã©ã 㯠switch
æã®æ«å°¾ã®å¾ã«ç¶ãæããå®è¡ãåéãã¾ããdefault
ç¯ã¯æå¾ã®ç¯ã«ç½®ãã¾ãããããããªããã°ãããªãããã§ã¯ããã¾ãããï¼break
æã¯ãªãã·ã§ã³ã§ãããããã® case
ç¯ã¨é¢é£ä»ãããã該å½ããæãå®è¡ãããã¨ããã°ã©ã ã switch
ããæãåºããswitch
ã®æ¬¡ã®æããå®è¡ãç¶ç¶ããããã¨ãä¿è¨¼ãã¾ããbreak
ãçç¥ãããã¨ãããã°ã©ã 㯠switch
æã®å
é¨ã®å®è¡ãç¶ãã¾ãï¼ããã¦ã次㮠case
ãé çªã«è©ä¾¡ãã¾ãï¼ã
次ã®ä¾ã§ã¯ãfruitType
ã "Bananas"
ã¨è©ä¾¡ãããå ´åãããã°ã©ã ã§ã¯ case "Bananas"
ã¨å¤ãä¸è´ããã®ã§ãããã«é¢é£ä»ããããæãå®è¡ãã¾ãã break
æã«åºãããã¨ãããã°ã©ã 㯠switch
ããæãã¦ã switch
ã®å¾ã«ç¶ãæãå®è¡ãã¾ããbreak
ãçç¥ããã¨ã case "Cherries"
ã®æãå®è¡ããã¾ãã
switch (fruitType) {
case "Oranges":
console.log("Oranges are $0.59 a pound.");
break;
case "Apples":
console.log("Apples are $0.32 a pound.");
break;
case "Bananas":
console.log("Bananas are $0.48 a pound.");
break;
case "Cherries":
console.log("Cherries are $3.00 a pound.");
break;
case "Mangoes":
console.log("Mangoes are $0.56 a pound.");
break;
case "Papayas":
console.log("Papayas are $2.79 a pound.");
break;
default:
console.log(`Sorry, we are out of ${fruitType}.`);
}
console.log("Is there anything else you'd like?");
ä¾å¤å¦çæ
throw
æã使ç¨ãã¦ä¾å¤ãçºçãããtry...catch
æã使ç¨ãã¦ä¾å¤ãå¦çãããã¨ãã§ãã¾ãã
JavaScript ã§ã¯ãã»ã¼ã©ã®ãããªãªãã¸ã§ã¯ãã§ãä¾å¤ã¨ãã¦æãããã¨ãã§ãã¾ããã¨ã¯ãããå¿ ãããæãããããªãã¸ã§ã¯ããã¹ã¦ãåçã«ä½ããã¦ããããã§ã¯ããã¾ãããæ°å¤ãæååãã¨ã©ã¼ã¨ãã¦æããæ¹æ³ãããç¨ãããã¾ãããããããç¨éã®ããã«ç¹å¥ã«ä½ãããä¾å¤ãã¼ã¿åã使ç¨ããæ¹ãããå¹ççãªå ´åãå¤ãã§ãã
throw æthrow
æã¯ãä¾å¤ãæããï¼çºçãããï¼ããã«ä½¿ç¨ãã¾ããä¾å¤ãçºçãããã«ã¯ãæãããå¤ãå«ãå¼ãæå®ãã¦ãã ããã
ç¹å®ã®åã®å¼ã ãã§ã¯ãªããããããå¼ãæãããã¨ãã§ãã¾ããä¸è¨ã®ã³ã¼ãã§ã¯ããã¾ãã¾ãªåã®ä¾å¤ãçºçããã¦ãã¾ãã
throw "Error2"; // æååå
throw 42; // æ°å¤å
throw true; // è«çå
throw {
toString() {
return "ããã¯ãªãã¸ã§ã¯ãã§ãï¼";
},
};
try...catch æ
try...catch
æã¯æ¤æ»ãããæã®ãããã¯ãæå®ããããã«çºçããä¾å¤ã«å¯¾ãã 1 ã¤ä»¥ä¸ã®å¯¾å¦æ¹æ³ãæå®ãã¾ããä¾å¤ãçºçããã¨ã try...catch
æããããåãåãã¾ãã
try...catch
æã¯ 1 ã¤ã® try
ãããã¯ã¨ã try
ãããã¯å
ã§ä¾å¤ãçºçããå ´åã«ä½ãããããæå®ããåãå«ã catch
ãããã¯ããæãã¾ãã
è¦ããã«ãæåããå ´åã«å®è¡ããã try
ãããã¯ã¨ã失æããå ´åã«å¶å¾¡ãç§»è¡ãããã catch
ãããã¯ã§æ§æããã¦ãã¾ããtry
ãããã¯å
ï¼ããã㯠try
ãããã¯å
ããå¼ã³åºããã颿°å
ï¼ã®ããããã®æãä¾å¤ãæããã¨ãå¶å¾¡ã¯ããã« catch
ãããã¯ã«ç§»ãã¾ããtry
ãããã¯ã§ä¾å¤ãçºçããªãã£ãå ´åãcatch
ãããã¯ã¯ã¹ãããããã¾ããfinally
ãããã¯ã¯ try
ããã³ catch
ãããã¯ãå®è¡ããå¾ã«å®è¡ãã¾ãããtry...catch
æã®å¾ã«ç¶ãæããå
ã«å®è¡ããã¾ãã
次ã®ä¾ã§ã¯ try...catch
æã使ç¨ãã¦ãã¾ãããã®ä¾ã§ã¯æ¸¡ãããå¤ã«åºã¥ãã¦ãé
åããæã®ååãåãåºã颿°ãå®è¡ãã¾ããå¤ã«å¯¾å¿ããæã®æ°å (1
â12
) ããªãå ´å㯠'InvalidMonthNo'
ã¨ããå¤ãæã¤ä¾å¤ãçºçããcatch
ãããã¯ã®ä¸ã®æã¯ monthName
ã¨ãã夿°ã« 'unknown'
ã¨ããå¤ãè¨å®ãã¾ãã
function getMonthName(mo) {
mo--; // æã®æ°åãé
åã®ã¤ã³ããã¯ã¹ã«åããã (0 = Jan, 11 = Dec)
const months = [
"Jan", "Feb", "Mar", "Apr", "May", "Jun",
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec",
];
if (months[mo]) {
return months[mo];
} else {
throw "InvalidMonthNo"; // ããã§ throw ãã¼ã¯ã¼ãã使ããã¦ãã
}
}
try {
// å®è¡ã試ã¿ãæ
monthName = getMonthName(myMonth); // ãã®é¢æ°ãä¾å¤ãæããå ´åããã
} catch (e) {
monthName = "unknown";
logMyErrors(e); // ä¾å¤ãªãã¸ã§ã¯ããã¨ã©ã¼ãã³ãã©ã¼ã«æ¸¡ã
}
catch ãããã¯
catch
ãããã¯ãç¨ãããã¨ã§ãtry
ãããã¯ã§çºçããããã¹ã¦ã®ä¾å¤ãæ±ããã¨ãã§ãã¾ãã
catch (exception) {
statements
}
catch
ãããã¯ã«ã¯èå¥å (ä¸è¨ã®æ§æã«ããã exception
) ãæå®ããããã throw
æã§æå®ãããå¤ãä¿æãã¾ãããã®èå¥åã¯ãçºçããä¾å¤ã«ã¤ãã¦ã®æ
å ±ãå¾ãããã«ä½¿ãã¾ãã
JavaScript 㯠catch
ãããã¯ã«å
¥ãã¨ãã«ãã®èå¥åã使ãã¾ããèå¥å㯠catch
ãããã¯ã®åºéã ãåç¶ãã¾ããã¤ã¾ããcatch
ãããã¯ã®å®è¡ãçµããã¨ããã®èå¥åã¯ãã使ããªããªãã¾ãã
ä¾ãã°ã次ã®ã³ã¼ãã¯ä¾å¤ãæãã¾ããä¾å¤ãçããã¨ãå¶å¾¡ã catch
ãããã¯ã«ç§»ãã¾ãã
try {
throw "myException"; // ä¾å¤ãçæ
} catch (err) {
// ããã«ã¯ä¾å¤ãæ±ãæãå
¥ã
logMyErrors(err); // ä¾å¤ãªãã¸ã§ã¯ããã¨ã©ã¼ãã³ãã©ã¼ã«æ¸¡ã
}
ã¡ã¢: catch
ãããã¯å
ã§ã³ã³ã½ã¼ã«ã«ã¨ã©ã¼ããã°åºåããå ´åã¯ãconsole.log()
ããã console.error()
ããããã°ç®çã§ã¯æ¨å¥¨ããã¦ãã¾ããããã¯ã¡ãã»ã¼ã¸ãã¨ã©ã¼ã¨ãã¦æ¸å¼åãããã¼ã¸ã«ãã£ã¦çæãããã¨ã©ã¼ã¡ãã»ã¼ã¸ã®ä¸è¦§ã«è¿½å ãã¾ãã
finally
ãããã¯ã¯ãtry
ããã³ catch
ãããã¯ã®å®è¡ãå¾ãã«å®è¡ãããæãå
¥ãã¾ããã¾ããfinally
ãããã¯ã®ä¸ã®ã³ã¼ã㯠tryâ¦catchâ¦finally
ã«ç¶ãæãå®è¡ããããåãã«å®è¡ããã¾ãã
ã¾ãã finally
ãããã¯ã¯ä¾å¤ãçºçãããã©ããã«ããããããå®è¡ãããã¨ãããã¨ã«æ³¨æãããã¨ã大åã§ããã¾ããä¾å¤ãçºçããããfinally
ãããã¯å
ã®æã¯çºçããä¾å¤ã catch
ãããã¯ã§å¦çãããªãã¦ãå®è¡ããã¾ãã
finally
ãããã¯ã使ç¨ãããã¨ã§ãä¾å¤çºçæã«é©åã«ã¹ã¯ãªããã忢ããããã¨ãã§ãã¾ããä¾ãã°ãã¹ã¯ãªããã§ä½¿ç¨ãã¦ãããªã½ã¼ã¹ãè§£æ¾ããªããã°ãªããªãå ´åãªã©ã§ãã
次ã®ä¾ã§ã¯ãã¡ã¤ã«ãéãããã®ãã¡ã¤ã«ã使ç¨ããæãå®è¡ãã¾ãï¼ãµã¼ãã¼å´ JavaScript ã§ã¯ãã¡ã¤ã«ã«ã¢ã¯ã»ã¹ã§ãã¾ãï¼ããã¡ã¤ã«ãéãã¦ããéã«çºçããã¨ãã¹ã¯ãªããã忢ããåã« finally
ãããã¯ã§ãã®ãã¡ã¤ã«ãéãã¾ããããã§ finally
ã使ç¨ãããã¨ã§ãã¨ã©ã¼ãçºçããå ´åã§ãã£ã¦ããã¡ã¤ã«ãéãããã¾ã¾ã«ãªããªããã¨ãä¿è¨¼ãã¾ãã
openMyFile();
try {
writeMyFile(theData); // ããã§ã¨ã©ã¼ãæããããå¯è½æ§ããã
} catch (e) {
handleError(e); // ã¨ã©ã¼ãåãåãããããå¦çãã
} finally {
closeMyFile(); // 常ã«ãªã½ã¼ã¹ãéãããã
}
finally
ãããã¯ãå¤ãè¿ãå ´åããã®å¤ã¯ try
ããã³ catch
ãããã¯ã® return
æã«ããããã tryâ¦catchâ¦finally
å
¨ä½ãçæããè¿å¤ã«ãªãã¾ãã
function f() {
try {
console.log(0);
throw "bogus";
} catch (e) {
console.log(1);
// ãã®è¿å¤ã¯ãfinally ãããã¯ã
// å®äºããã¾ã§ä¿çã¨ãªã
return true;
console.log(2); // ããã¾ã§å°éããªã
} finally {
console.log(3);
return false; // ç´åã® "return" ã䏿¸ãããã
console.log(4); // ããã¾ã§å°éããªã
}
// ããã§ "return false" ãå®è¡ããã
console.log(5); // ããã¾ã§å°éããªã
}
console.log(f()); // 0, 1, 3, false
finally
ãããã¯ã«ããè¿å¤ã®ä¸æ¸ãã¯ã catch
ãããã¯å
ã§çºçãããã¾ãã¯åçºçããä¾å¤ã«ãé©ç¨ããã¾ãã
function f() {
try {
throw "bogus";
} catch (e) {
console.log('caught inner "bogus"');
// ãã® throw æã¯ finally ãããã¯ã
// å®äºããã¾ã§ä¿çã«ãªã
throw e;
} finally {
return false; // ç´åã® "throw" ã䏿¸ãããã
}
// ããã§ "return false" ãå®è¡ããã
}
try {
console.log(f());
} catch (e) {
// ããã«ã¯å°éããªã
// f() ãå®è¡ããéã`finally` ãããã¯ã false ãè¿ãã
// ä¸è¨ã® `catch` ã®ä¸ã«ãã `throw` ã䏿¸ãã
console.log('caught outer "bogus"');
}
// Logs:
// caught inner "bogus"
// false
å
¥ãåã® try...catch æ
1 ã¤ä»¥ä¸ã® try...catch
æãå
¥ãåã«ãããã¨ãã§ãã¾ãã
å
å´ã® try
ãããã¯ã« catch
ãããã¯ããªãå ´åã¯æ¬¡ã®ããã«ãªãã¾ãã
finally
ãããã¯ãç½®ãå¿
è¦ãããã¾ããããã¦ãtry...catch
æã® catch
ãããã¯ãã¨ã©ã¼ã®ç
§åå
ã¨ãã¦ãã§ãã¯ããã¾ãã詳ããã¯ãtry...catch
ã®ä¸ã®å
¥ãåã«ãªã£ã try ãããã¯ãåç
§ãã¦ãã ããã
ã¨ã©ã¼ã®ç¨®é¡ã«å¿ãã¦ã name
ã message
ããããã£ã使ã£ã¦ãã詳細ãªã¡ãã»ã¼ã¸ãå¾ãããããã«ãããã¨ãã§ãã¾ãã
name
㯠Error
ã®ã¯ã©ã¹å
¨è¬ (ä¾ãã° DOMException
ã Error
) ã表ãã䏿¹ message
ã¯é常ãã¨ã©ã¼ãªãã¸ã§ã¯ããæååã«å¤æãããã®ããç°¡æ½ãªã¡ãã»ã¼ã¸ã表ãã¾ãã
ç¬èªã®ä¾å¤ãçºçããã¦ããããã®ããããã£ãæå¹ã«æ´»ç¨ãããå ´å (catch
ãããã¯ã§ç¬èªã®ä¾å¤ã¨ã·ã¹ãã ã®ä¾å¤ã¨ãåºå¥ããããªãå ´åãªã©)ãError
ã³ã³ã¹ãã©ã¯ã¿ã¼ã使ãã¾ãã
ä¾ãã°ã次ã®ããã«ãã¾ãã
function doSomethingErrorProne() {
if (ourCodeMakesAMistake()) {
throw new Error("ã¡ãã»ã¼ã¸");
} else {
doSomethingToGetAJavaScriptError();
}
}
try {
doSomethingErrorProne();
} catch (e) {
// `console.error()` ãå®éã«ä½¿ã£ã¦ãã°ãåºåãã¦ã¿ã¾ã
console.error(e.name); // 'Error'
console.error(e.message); // 'ã¡ãã»ã¼ã¸'ãã¾ã㯠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