æ¡ä»¶ï¼ä¸é ï¼æ¼ç®å
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since 2015å¹´7æ.
æ¡ä»¶ï¼ä¸é
ï¼æ¼ç®å㯠JavaScript ã§ã¯å¯ä¸ã®ã 3 ã¤ã®ãªãã©ã³ããã¨ãæ¼ç®åã§ãã
æ¡ä»¶ã«ç¶ãã¦çå符 (?)ãããã¦æ¡ä»¶ãçå¤ã§ãã£ãå ´åã«å®è¡ããå¼ãã³ãã³ (:) ãç¶ããæ¡ä»¶ãå½å¤ã§ãã£ãå ´åã«å®è¡ããå¼ãæå¾ã«æ¥ã¾ãã
ãã®æ¼ç®åã¯ã if...else æã®ä»£æ¿ã¨ãã¦ããç¨ãããã¾ãã
試ãã¦ã¿ã¾ããã
function getFee(isMember) {
return isMember ? "$2.00" : "$10.00";
}
console.log(getFee(true));
// äºæ³ãããçµæ: "$2.00"
console.log(getFee(false));
// äºæ³ãããçµæ: "$10.00"
console.log(getFee(null));
// äºæ³ãããçµæ: "$10.00"
æ§æ
condition ? exprIfTrue : exprIfFalse
弿°
condition-
å¤ãæ¡ä»¶ã¨ãã¦ä½¿ç¨ãããå¼ã§ãã
exprIfTrue-
conditionãçå¤ (trueã¨çããããtrueã«å¤æã§ããå¤) ã¨è©ä¾¡ãããå ´åã«è©ä¾¡ãããå¼ã§ãã exprIfFalse-
conditionãå½å¤ (falseã¨çããããfalseã«å¤æã§ããå¤) ã¨è©ä¾¡ãããå ´åã«è©ä¾¡ãããå¼ã§ãã
解説
false ã«ã¤ãã¦ããã°ãå½å¤ã«ãªãå¯è½æ§ãããå¼ã¯ null, NaN, 0, 空æåå (""), undefined ã§ãã condition ããã®ãã¡ã®ä½ããã§ããã°ãæ¡ä»¶æ¼ç®åã®çµæã¯ exprIfFalse ã®å¼ãå®è¡ããçµæã«ãªãã¾ãã
ä¾
>åºæ¬çãªä¾
const age = 26;
const beverage = age >= 21 ? "ãã¼ã«" : "ã¸ã¥ã¼ã¹";
console.log(beverage); // "ãã¼ã«"
null å¤ã®æ±ã
ããããä½¿ãæ¹ã®ä¸ã¤ã«ã null ã«ãªãå¯è½æ§ãããå¤ãæ±ãã¨ãããã®ãããã¾ãã
const greeting = (person) => {
const name = person ? person.name : "ã客ãã";
return `ããã${name}`;
};
console.log(greeting({ name: "ã¢ãªã¹" })); // "ãããã¢ãªã¹"
console.log(greeting(null)); // "ãããã客ãã"
æ¡ä»¶ã®é£é
ä¸é
æ¼ç®åã¯å³çµåãªã®ã§ã以ä¸ã®ãããªæ¹æ³ã§ if ⦠else ifâ⦠else if ⦠else ã®é£éã¨åæ§ã«ãé£éãããããã¨ãã§ãã¾ãã
function example() {
return condition1 ? value1
: condition2 ? value2
: condition3 ? value3
: value4;
}
ããã¯æ¬¡ã® if...else ã®é£éã¨åãã§ãã
function example() {
if (condition1) {
return value1;
} else if (condition2) {
return value2;
} else if (condition3) {
return value3;
} else {
return value4;
}
}
仿§æ¸
| Specification |
|---|
| ECMAScript® 2027 Language Specification> # sec-conditional-operator> |