æ¸ç®ä»£å ¥æ¼ç®å (-=)
Baseline
åºãå©ç¨å¯è½
ãã®æ©è½ã¯åºãå®è£ ããã¦ãããå¤ãã®ãã¼ã¸ã§ã³ã®ç«¯æ«ããã©ã¦ã¶ã¼ã§åä½ãã¾ãã2015å¹´7æä»¥éããã¹ã¦ã®ãã©ã¦ã¶ã¼ã§å©ç¨å¯è½ã§ãã
æ¸ç®ä»£å
¥æ¼ç®å (*=) ã¯ã2 ã¤ã®ãªãã©ã³ãã§æ¸ç®ãè¡ããçµæãå·¦ãªãã©ã³ãã«ä»£å
¥ãã¾ãã
試ãã¦ã¿ã¾ããã
let a = 2;
console.log((a -= 3));
// äºæ³ãããçµæ: -1
console.log((a -= "Hello"));
// äºæ³ãããçµæ: NaN
æ§æ
js
x -= y
解説
x -= y 㯠x = x - y ã¨åçã§ãããå¼ x ãä¸åº¦ã ãè©ä¾¡ãããç¹ãç°ãªãã¾ãã
ä¾
>æ°å¤ã使ç¨ããæ¸ç®ä»£å ¥
js
let bar = 5;
bar -= 2; // 3
ãã®ä»ã®é·æ´æ°ä»¥å¤ã®å¤ã¯æ°å¤ã«å¤æããã¾ãã
js
bar -= "foo"; // NaN
é·æ´æ°ã使ç¨ããæ¸ç®ä»£å ¥
js
let foo = 3n;
foo -= 2n; // 1n
foo -= 1; // TypeError: Cannot mix BigInt and other types, use explicit conversions
仿§æ¸
| 仿§æ¸ |
|---|
| ECMAScript® 2027 Language Specification > # sec-assignment-operators > |