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