String.prototype.at()
åºçº¿
广æ³å¯ç¨
èª 2022å¹´3æ èµ·ï¼æ¤ç¹æ§å·²å¨ä¸»æµæµè§å¨ä¸å¾å°æ¯æï¼å¯å¨å¤§å¤æ°è®¾å¤åæµè§å¨çæ¬ä¸æ£å¸¸ä½¿ç¨ã
at() æ¹æ³æ¥åä¸ä¸ªæ´æ°å¼ï¼å¹¶è¿åä¸ä¸ªæ°ç Stringï¼è¯¥å符串ç±ä½äºæå®åç§»éå¤çå个 UTF-16 ç å
ç»æãè¯¥æ¹æ³å
è®¸æ£æ´æ°åè´æ´æ°ãè´æ´æ°ä»å符串ä¸çæåä¸ä¸ªå符å¼å§åæ°ã
å°è¯ä¸ä¸
const sentence = "The quick brown fox jumps over the lazy dog.";
let index = 5;
console.log(`An index of ${index} returns the character ${sentence.at(index)}`);
// Expected output: "An index of 5 returns the character u"
index = -4;
console.log(`An index of ${index} returns the character ${sentence.at(index)}`);
// Expected output: "An index of -4 returns the character d"
è¯æ³
at(index)
åæ°
index-
è¦è¿åçå符串å符çç´¢å¼ï¼ä½ç½®ï¼ãå½ä¼ éè´æ°æ¶ï¼æ¯æä»å符串æ«ç«¯å¼å§çç¸å¯¹ç´¢å¼ï¼ä¹å°±æ¯è¯´ï¼å¦æä½¿ç¨è´æ°ï¼è¿åçå符å°ä»åç¬¦ä¸²çæ«ç«¯å¼å§åæ°ã
è¿åå¼
ç±ä½äºæå®ä½ç½®çå个 UTF-16 ç å
ç»æç Stringã妿æ¾ä¸å°æå®çç´¢å¼ï¼åè¿å undefined ã
示ä¾
>è¿åå符串çæåä¸ä¸ªå符
以ä¸ç¤ºä¾æä¾äºä¸ä¸ªå½æ°ï¼è¯¥å½æ°è¿åæå®å符串ä¸çæåä¸ä¸ªå符ã
// è¿åç»å®å符串çæåä¸ä¸ªå符ç彿°
function returnLast(arr) {
return arr.at(-1);
}
let invoiceRef = "myinvoice01";
console.log(returnLast(invoiceRef));
// Logs: '1'
invoiceRef = "myinvoice02";
console.log(returnLast(invoiceRef));
// Logs: '2'
æ¹æ³å¯¹æ¯
ä¸é¢æä»¬éè¿æ¯è¾ä¸åçæ¹æ³æ¥å®ç°éæ© String çåæ°ç¬¬äºä¸ªå符ãå°½ç®¡ä»¥ä¸æææ¹æ³é½æ¯ææçï¼ä½å®ä»¬å¸æ¾äº at() æ¹æ³çç®æ´æ§åå¯è¯»æ§ã
const myString = "Every green bus drives fast.";
// ä½¿ç¨ length 屿§å charAt() æ¹æ³
const lengthWay = myString.charAt(myString.length - 2);
console.log(lengthWay); // 't'
// ä½¿ç¨ slice() æ¹æ³
const sliceWay = myString.slice(-2, -1);
console.log(sliceWay); // 't'
// ä½¿ç¨ at() æ¹æ³
const atWay = myString.at(-2);
console.log(atWay); // 't'
è§è
| è§è |
|---|
| ECMAScript® 2027 Language Specification> # sec-string.prototype.at> |