Baseline Widely available
toString()
æ¹æ³è¿åä¸ä¸ªå符串ï¼è¡¨ç¤ºæå®çæ°ç»åå
¶å
ç´ ã
const array1 = [1, 2, "a", "1a"];
console.log(array1.toString());
// Expected output: "1,2,a,1a"
è¯æ³ è¿åå¼
ä¸ä¸ªè¡¨ç¤ºæ°ç»å ç´ çå符串ã
æè¿°Array
对象è¦çäº Object
ç toString
æ¹æ³ãæ°ç»ç toString
æ¹æ³å®é
ä¸å¨å
é¨è°ç¨äº join()
æ¹æ³æ¥æ¼æ¥æ°ç»å¹¶è¿åä¸ä¸ªå
å«æææ°ç»å
ç´ çå符串ï¼å
ç´ ä¹é´ç¨éå·åéã妿 join
æ¹æ³ä¸å¯ç¨æè
䏿¯å½æ°ï¼åä¼ä½¿ç¨ Object.prototype.toString
æ¥ä»£æ¿ï¼å¹¶è¿å [object Array]
ã
const arr = [];
arr.join = 1; // å° `join` éæ°èµå¼ä¸ºé彿°çå¼
console.log(arr.toString()); // [object Array]
console.log(Array.prototype.toString.call({ join: () => 1 })); // 1
彿°ç»éè¦è¢«è¡¨ç¤ºä¸ºææ¬å¼ï¼æè
彿°ç»å¨åç¬¦ä¸²æ¼æ¥ä¸è¢«å¼ç¨æ¶ï¼JavaScript ä¼èªå¨è°ç¨ toString()
æ¹æ³ã
const array1 = [1, 2, "a", "1a"];
console.log(array1.toString()); // "1,2,a,1a"
å¨ç¨çæ°ç»ä¸ä½¿ç¨ toString()
ä¸ join()
çè¡ä¸ºä¸è´ï¼toString()
å°ç©ºæ§½è§ä¸º undefined
å¹¶çæä¸ä¸ªé¢å¤çåé符ï¼
console.log([1, , 3].toString()); // '1,,3'
å¨éæ°ç»å¯¹è±¡ä¸ä½¿ç¨ toString()
toString()
æ¯éç¨çã宿æ this
å
·æ join()
æ¹æ³ï¼å¦æä¸åå¨ï¼åä½¿ç¨ Object.prototype.toString()
ã
console.log(Array.prototype.toString.call({ join: () => 1 }));
// 1; ä¸ä¸ªæ°å
console.log(Array.prototype.toString.call({ join: () => undefined }));
// undefined
console.log(Array.prototype.toString.call({ join: "not function" }));
// "[object Object]"
è§è æµè§å¨å
¼å®¹æ§ åè§
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