æ¸ç®æ¼ç®å (-)
Baseline
åºãå©ç¨å¯è½
ãã®æ©è½ã¯åºãå®è£ ããã¦ãããå¤ãã®ãã¼ã¸ã§ã³ã®ç«¯æ«ããã©ã¦ã¶ã¼ã§åä½ãã¾ãã2015å¹´7æä»¥éããã¹ã¦ã®ãã©ã¦ã¶ã¼ã§å©ç¨å¯è½ã§ãã
æ¸ç®æ¼ç®å (-) 㯠2 ã¤ã®ãªãã©ã³ãã®éã§æ¸ç®ãããããã®å·®ãçæãã¾ãã
試ãã¦ã¿ã¾ããã
console.log(5 - 3);
// äºæ³ãããçµæ: 2
console.log(3.5 - 5);
// äºæ³ãããçµæ: -1.5
console.log(5 - "hello");
// äºæ³ãããçµæ: NaN
console.log(5 - true);
// äºæ³ãããçµæ: 4
æ§æ
x - y
解説
- æ¼ç®åã¯ãæ°å¤ã¨é·æ´æ°ã® 2 種é¡ã®ãªãã©ã³ãã«å¯¾ãã¦ãªã¼ãã¼ãã¼ãããã¦ãã¾ããã¾ã両ãªãã©ã³ããæ°å¤åã«å¤æãããããã®åãæ¤æ»ãã¾ãã両ãªãã©ã³ããé·æ´æ°ã«ãªã£ãå ´åãé·æ´æ°ã®æ¸ç®ãå®è¡ãã¾ããããã§ãªãå ´åã¯æ°å¤ã®æ¸ç®ãå®è¡ãã¾ãã䏿¹ã®ãªãã©ã³ããé·æ´æ°ã«ãªãããã䏿¹ãæ°å¤ã«ãªã£ãå ´åã¯ãTypeError ãçºçãã¾ãã
ä¾
>æ°å¤ãç¨ããæ¸ç®
5 - 3; // 2
3 - 5; // -2
ãã®ä»ã®é·æ´æ°ã§ãªãå¤ã¯ãæ°å¤ã«å¤æããã¾ãã
"foo" - 3; // NaNã "foo" ã¯æ°å¤ NaN ã«å¤æããã
5 - "3"; // 2ã "3" ã¯æ°å¤ 3 ã«å¤æããã
é·æ´æ°ãç¨ããæ¸ç®
2n - 1n; // 1n
æ¸ç®ã«ããã¦ãé·æ´æ°ã¨æ°å¤ã®ãªãã©ã³ããæ··å¨ããããã¨ã¯ã§ãã¾ããã
2n - 1; // TypeError: Cannot mix BigInt and other types, use explicit conversions
2 - 1n; // TypeError: Cannot mix BigInt and other types, use explicit conversions
é·æ´æ°ã¨é·æ´æ°ä»¥å¤ã§æ¸ç®ãè¡ãã«ã¯ãã©ã¡ããã®ãªãã©ã³ãã夿ãã¦ãã ããã
2n - BigInt(1); // 1n
Number(2n) - 1; // 1
仿§æ¸
| 仿§æ¸ |
|---|
| ECMAScript® 2027 Language Specification > # sec-subtraction-operator-minus > |