Baseline 2023
Newly available
Array
å®ä¾ç with()
æ¹æ³æ¯ä½¿ç¨æ¹æ¬å·è¡¨ç¤ºæ³ä¿®æ¹æå®ç´¢å¼å¼çå¤å¶æ¹æ³çæ¬ãå®ä¼è¿åä¸ä¸ªæ°æ°ç»ï¼å
¶æå®ç´¢å¼å¤çå¼ä¼è¢«æ°å¼æ¿æ¢ã
arrayInstance.with(index, value)
åæ°
index
è¦ä¿®æ¹çæ°ç»ç´¢å¼ï¼ä» 0 å¼å§ï¼ï¼å°ä¼è½¬æ¢ä¸ºæ´æ°ã
index < 0
æ¶ï¼ä¼ä½¿ç¨ index + array.length
ãRangeError
ãvalue
è¦åé ç»æå®ç´¢å¼çä»»ä½å¼ã
ä¸ä¸ªå
¨æ°çæ°ç»ï¼å
¶ä¸ index
ç´¢å¼å¤çå
ç´ è¢«æ¿æ¢ä¸º value
ã
RangeError
index > array.length
æ index < -array.length
æ¶æåºã
with()
éè¿è¿åä¸ä¸ªæå®ç´¢å¼å¤çå¼è¢«æ°å¼æ¿æ¢çæ°æ°ç»ï¼æ¥æ¹åæ°ç»ä¸æå®ç´¢å¼å¤çå¼ãåæ°ç»ä¸ä¼è¢«ä¿®æ¹ï¼è¿ä½¿å¾ä½ å¯ä»¥ä»¥é¾å¼è°ç¨æ°ç»æ¹æ³çæ¹å¼æ¥å¯¹æ°ç»è¿è¡æä½ã
éè¿ç»å使ç¨with()
å at()
彿°ï¼å¯åå«å°åå
¥åè¯»åæ°ç»ï¼ç´¢å¼ä½¿ç¨æ£æ°è´æ°åå¯ã
with()
æ¹æ³æ°¸è¿ä¸ä¼äº§çç¨çæ°ç»ãå¦æåæ°ç»æ¯ç¨ççï¼æ°æ°ç»å¯¹åºç空ç½ç´¢å¼ä½ç½®ä¼æ¿æ¢ä¸º undefined
ã
with()
æ¹æ³æ¯éç¨çãå®åªææ this
å¼å
·æ length
屿§åæ´æ°é®å±æ§ã
const arr = [1, 2, 3, 4, 5];
console.log(arr.with(2, 6)); // [1, 2, 6, 4, 5]
console.log(arr); // [1, 2, 3, 4, 5]
æ°ç»æ¹æ³çé¾å¼è°ç¨
ä½¿ç¨ with()
æ¹æ³ï¼ä½ å¯ä»¥å¨æ´æ°ä¸ä¸ªæ°ç»å
ç´ åç»§ç»è°ç¨å
¶ä»çæ°ç»æ¹æ³ã
const arr = [1, 2, 3, 4, 5];
console.log(arr.with(2, 6).map((x) => x ** 2)); // [1, 4, 36, 16, 25]
å¨ç¨çæ°ç»ä¸ä½¿ç¨ with()
with()
æ¹æ³æ»ä¼å建ä¸ä¸ªå¯éæ°ç»ã
const arr = [1, , 3, 4, , 6];
console.log(arr.with(0, 2)); // [2, undefined, 3, 4, undefined, 6]
å¨éæ°ç»å¯¹è±¡ä¸è°ç¨ with()
with()
æ¹æ³å建并è¿åä¸ä¸ªæ°æ°ç»ãå®è¯»å this
ç length
屿§ï¼ç¶å访é®å
¶é®æ¯å°äº length
çéè´æ´æ°çæ¯ä¸ªå±æ§ãå½ this
çæ¯ä¸ªå±æ§è¢«è®¿é®åï¼ç´¢å¼çäºè¯¥å±æ§çé®çæ°ç»å
ç´ è¢«è®¾ç½®ä¸ºè¯¥å±æ§çå¼ãæåï¼å° index
çæ°ç»å¼è®¾ç½®ä¸º value
ã
const arrayLike = {
length: 3,
unrelated: "foo",
0: 5,
2: 4,
3: 3, // ç±äº length 屿§çå¼ä¸º 3ï¼with() ä¼å¿½ç¥è¯¥å¼
};
console.log(Array.prototype.with.call(arrayLike, 0, 1));
// [ 1, undefined, 4 ]
è§è æµè§å¨å
¼å®¹æ§ åè§
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