è«çåæ¼ç®å (||)
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æ.
è«çåæ¼ç®å (||) ï¼è«ççé¸è¨ï¼ããªãã©ã³ãã®çµã¿åããã«å¯¾ãã¦ä½¿ç¨ããã¨ããªãã©ã³ãã®ãã¡ 1 ã¤ä»¥ä¸ã true ã§ããå ´åã« true ã«ãªãã¾ããä¸è¬çã«ã¯è«çå¤ï¼ãã¼ã«å¤ï¼ã§ä½¿ç¨ããã¾ãããã®å ´åã¯è«çå¤ãè¿ãã¾ãããã ã || æ¼ç®åã¯å®éã«ã¯æå®ããããªãã©ã³ãã®ãã¡ä¸æ¹ã®å¤ãè¿ãã®ã§ããã®æ¼ç®åãè«çå¤ä»¥å¤ã§ä½¿ç¨ãããå ´åã¯ãè«çå¤ä»¥å¤ã®å¤ãè¿ããã¨ã«ãªãã¾ãã
試ãã¦ã¿ã¾ããã
const a = 3;
const b = -2;
console.log(a > 0 || b > 0);
// äºæ³ãããçµæ: true
æ§æ
x || y
解説
x ã true ã«å¤æã§ããå ´å㯠x ãè¿ãããã以å¤ã®å ´å㯠y ãè¿ãã¾ãã
ããå¤ã true ã«å¤æã§ããå ´åããã®å¤ã¯çå¤ (truthy) ã¨å¼ã°ãã¾ããããå¤ã false ã«å¤æã§ããå ´åããã®å¤ã¯å½å¤ (falsy) ã¨å¼ã°ãã¾ãã
false ã«å¤æããããå¼ã®ä¾ã示ãã¾ãã
nullNaN0- 空æåå (
""ã¾ãã¯''ã¾ãã¯``) undefined
|| æ¼ç®åã§ã¯è«çå¤ä»¥å¤ã®ãªãã©ã³ãã使ç¨ãããã¨ãã§ãã¾ãããè¿å¤ã常ã«è«çåããªããã£ãã«å¤æãããã¨ãå¯è½ã§ãããããè«çæ¼ç®åã¨è¦ãªããã¨ãã§ãã¾ããè¿å¤ (ã¾ãã¯ä¸è¬çãªå¼) ã対å¿ããè«çå¤ã«æç¤ºçã«å¤æããã«ã¯ãäºéã®å¦å®æ¼ç®åã¾ã㯠Boolean() ã³ã³ã¹ãã©ã¯ã¿ã¼ã使ç¨ãã¦ãã ããã
ç絡è©ä¾¡
è«çåã®å¼ã¯å·¦ããå³ã¸ã¨è©ä¾¡ãããä¸è¨ã®è¦åã使ç¨ãã¦ãç絡ãè©ä¾¡ãå¯è½ãªããã«è©ä¾¡ããã¾ãã
(çå¤ã®å¼) || expr ã¯ç絡è©ä¾¡ã§çå¤ã®å¼ã¨ãã¦è©ä¾¡ããã¾ãã
ç絡ã¨ã¯ãä¸è¨ã® expr ã®é¨åãè©ä¾¡ãããããããã£ã¦ããããè¡ããã¨ã®å¯ä½ç¨ã广ãåã¼ããªããã¨ãæå³ãã¾ãï¼ä¾ãã°ã expr ã颿°å¼ã³åºãã§ãã£ãå ´åããã®å ´ã§ã¯å¼ã³åºããã¾ããï¼ãããã¯ãæåã®ãªãã©ã³ããè©ä¾¡ãããæç¹ã§ããã§ã«æ¼ç®åã®å¤ã決å®ãã¦ããããã§ããä¾ã示ãã¾ãã
function A() {
console.log("A ãå¼ã³åºããã¾ãã");
return false;
}
function B() {
console.log("B ãå¼ã³åºããã¾ãã");
return true;
}
console.log(B() || A());
// 颿°å¼ã³åºãã«ãã£ã¦ "B ãå¼ã³åºããã¾ãã" ããã°åºåããã
// ãããã true ï¼æ¼ç®åã®çµæã®å¤ï¼ãåºåããã¾ãã
æ¼ç®åã®åªå é ä½
以ä¸ã®å¼ã¯åãã§ããããã«è¦ããããããã¾ããããç°ãªãã¾ãã && æ¼ç®å㯠|| æ¼ç®åãããå
ã«å®è¡ãããããã§ãï¼æ¼ç®åã®åªå
é ä½ãåç
§ï¼ã
true || false && false; // true ãè¿ãã && ãå
ã«å®è¡ããããã
(true || false) && false; // false ãè¿ããã°ã«ã¼ãåã®åªå
é ä½ãæãé«ããã
ä¾
>è«çåã®ä½¿ç¨
以ä¸ã®ã³ã¼ã㯠|| ï¼è«çåï¼æ¼ç®åã®ä¾ã示ãã¦ãã¾ãã
true || true; // t || t 㯠true ãè¿ã
false || true; // f || t 㯠true ãè¿ã
true || false; // t || f 㯠true ãè¿ã
false || 3 === 4; // f || f 㯠false ãè¿ã
"Cat" || "Dog"; // t || t 㯠"Cat" ãè¿ã
false || "Cat"; // f || t 㯠"Cat" ãè¿ã
"Cat" || false; // t || f 㯠"Cat" ãè¿ã
"" || false; // f || f 㯠false ãè¿ã
false || ""; // f || f 㯠"" ãè¿ã
false || varObject; // f || ãªãã¸ã§ã¯ã㯠varObject ãè¿ã
ã¡ã¢:
ãã®æ¼ç®åã使ç¨ãã¦ããã¤ãã®å¤æ°ã«æ¢å®å¤ãæä¾ããå ´åãå½å¤ã使ç¨ãããªããã¨ã«æ³¨æãã¦ãã ããã null ã undefined ããã£ã«ã¿ãªã³ã°ããå¿
è¦ãããå ´åã¯ããã«å¤å使¼ç®åã®ä½¿ç¨ãæ¤è¨ãã¦ãã ããã
è«çåã®å¤æè¦å
è«çç©ããè«çåã¸ã®å¤æ
è«çåã«é¢ãã以ä¸ã®æä½ã¯ã
bCondition1 && bCondition2
常ã«ä»¥ä¸ã®ãã®ã¨çãããªãã¾ãã
!(!bCondition1 || !bCondition2)
è«çåããè«çç©ã¸ã®å¤æ
è«çåã«é¢ãã以ä¸ã®æä½ã¯ã
bCondition1 || bCondition2
常ã«ä»¥ä¸ã®ãã®ã¨çãããªãã¾ãã
!(!bCondition1 && !bCondition2)
å ¥ãåã«ãªã£ãæ¬å¼§ã®é¤å»
è«çå¼ã¯å·¦ããå³ã«è©ä¾¡ãããã®ã§ãããã¤ãã®ã«ã¼ã«ã«å¾ã£ã¦è¤éãªå¼ããæ¬å¼§ãåé¤ãããã¨ã¯å¸¸ã«å¯è½ã§ãã
è«çåã«é¢ãã以ä¸ã®è¤åæä½ã¯ã
bCondition1 && (bCondition2 || bCondition3)
常ã«ä»¥ä¸ã®ãã®ã¨çãããªãã¾ãã
!(!bCondition1 || !bCondition2 && !bCondition3)
仿§æ¸
| Specification |
|---|
| ECMAScript® 2027 Language Specification> # prod-LogicalORExpression> |