Именованные группы захвата в версии функции `replace ()` - PullRequest
2 голосов
/ 31 января 2020

Я заметил, что вы действительно можете передать свои именованные группы перехвата в обратном вызове замены:

'Yoda said "fear leads to anger."'.replace(
    /(?<pre>\b\w+\b)(?<betwixt> leads to )(?<post>\b\w+\b)/,
    (...args) => {
        let [{pre, betwixt, post}] = args.slice(-1);
        let ani = {fear:'anger',anger:'hate',hate:'suffering'};
        return `${ani[pre]}${betwixt}${ani[post]}`;
    }
)

Результат в Yoda said "anger leads to hate.". По крайней мере, в chrome.

Мой вопрос: где это определено? Это определенно не кажется стандартизированным .
Это, кажется, всегда последний параметр после string.

Я хотел бы знать, будет ли это новый стандарт, или что-то странное, что chrome разработчики временно обнаружили, что я случайно обнаружил, и оно исчезнет: (

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...