Baseline Widely available
å æ³ï¼+
ï¼è¿ç®ç¬¦è®¡ç®æ°åæä½æ°æåç¬¦ä¸²è¿æ¥çæ»åã
console.log(2 + 2);
// Expected output: 4
console.log(2 + true);
// Expected output: 3
console.log("hello " + "everyone");
// Expected output: "hello everyone"
console.log(2001 + ": A Space Odyssey");
// Expected output: "2001: A Space Odyssey"
è¯æ³ æè¿°
å æ³è¿ç®ç¬¦ï¼+
ï¼ä¸ºä¸¤ç§ä¸åçè¿ç®éè½½ï¼æ°åå æ³ååç¬¦ä¸²è¿æ¥ã卿±å¼æ¶ï¼å®é¦å
å°ä¸¤ä¸ªæä½æ°å¼ºå¶è½¬æ¢ä¸ºåºæ¬ç±»åãç¶åï¼æ£æ¥ä¸¤ä¸ªæä½æ°çç±»åï¼
TypeError
ãåç¬¦ä¸²è¿æ¥ç»å¸¸è¢«è®¤ä¸ºçä»·äºæ¨¡æ¿å符串æè
String.prototype.concat()
ï¼ä½å¹¶é妿¤ãå æ³å¼ºå¶å°è¡¨è¾¾å¼è½¬ä¸ºåºæ¬ç±»åï¼å®ä¼å
è°ç¨ valueOf()
ï¼å¦ä¸æ¹é¢ï¼æ¨¡æ¿å符串å concat()
å强å¶å°è¡¨è¾¾å¼è½¬ä¸ºå符串ï¼å®ä»¬ä¼å
è°ç¨ toString()
ãå¦æè¡¨è¾¾å¼æ [Symbol.toPrimitive]()
æ¹æ³ï¼åç¬¦ä¸²è¿æ¥æ¶ä¼ç¨ "default"
ä½ä¸º hint
è°ç¨å®ï¼ç¶è模æ¿å符串åç¨ "string"
ãè¿å¯¹äºå
·æä¸åçå符串ååå§å¼è¡¨ç°ç对象æ¥è¯´å¾éè¦ââä¾å¦ Temporalï¼å®ç valueOf()
æ¹æ³ä¼æåºé误ã
const t = Temporal.Now.instant();
"" + t; // æåº TypeError
`${t}`; // '2022-07-31T04:48:56.113918308Z'
"".concat(t); // '2022-07-31T04:48:56.113918308Z'
建议ä¸è¦ä½¿ç¨ "" + x
æ¥æ§è¡å符串强å¶è½¬æ¢ã
// Number + Number -> addition
1 + 2; // 3
// Boolean + Number -> addition
true + 1; // 2
// Boolean + Boolean -> addition
false + false; // 0
åç¬¦ä¸²è¿æ¥
// String + String -> concatenation
"foo" + "bar"; // "foobar"
// Number + String -> concatenation
5 + "foo"; // "5foo"
// String + Boolean -> concatenation
"foo" + false; // "foofalse"
// String + Number -> concatenation
"2" + 2; // "22"
è§è æµè§å¨å
¼å®¹æ§ åè§
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4