Javascript .replaceAll () не является ошибкой типа функции - PullRequest
1 голос
/ 10 июля 2020

Страница документации: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replaceAll

let string = ":insertx: :insertx: :inserty: :inserty: :insertz: :insertz:";
let newstring = string.replaceAll(":insertx:", 'hello!');

Когда я запускаю это, я получаю Uncaught TypeError: string.replaceAll is not a function. Возможно, я неправильно понимаю, что такое прототип, но функция выглядит как строковый метод, доступный для использования.

Я использую Chrome.

Ответы [ 2 ]

4 голосов
/ 10 июля 2020

.replaceAll будет доступно, начиная с Chrome 85. Текущая версия - 83.

Если вы загрузите Google Chrome Canary (который находится в версии 86), вы сможете убедитесь, что ваш код работает нормально. Firefox находится в версии 78, и, поскольку .replaceAll доступен начиная с версии 77, он работает и там. Он также будет работать в текущем Safari. В Microsoft Edge он указан как неподдерживаемый.

Поддерживаемые версии браузера вы найдете в конце статьи в вашем вопросе.

3 голосов
/ 10 июля 2020

Используйте замену регулярным выражением с глобальным модификатором для лучшей поддержки браузером.

let string = ":insertx: :insertx: :inserty: :inserty: :insertz: :insertz:";
let newstring = string.replace(/:insertx:/g, 'hello!');
console.log(newstring);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...