HiveBrain v1.2.0
Get Started
← Back to all entries
patterntypescriptangularCriticalCanonical

Property 'replaceAll' does not exist on type 'string'

Submitted by: @import:stackoverflow-api··
0
Viewed 0 times
propertyexistreplacealldoesnotstringtype

Problem

I want to use replaceAll in typescript and angular 10.

But I get this error: Property 'replaceAll' does not exist on type 'string'.

This is my code:

let date="1399/06/08"
console.log(date.replaceAll('/', '_'))


Output: 13990608

How can fix my typescript to show me this function?

Solution

You should be able to add those typings through your tsconfig.json.
Add "ES2021.String" to lib inside compilerOptions.

Your tsconfig should then look something like this:
{
...,
"compilerOptions": {
...,
"lib": [
...,
"ES2021.String"
]
}
}


The replaceAll method is defined inside lib.es2021.string.d.ts as follows:
interface String {
/**
* Replace all instances of a substring in a string, using a regular expression or search string.
* @param searchValue A string to search for.
* @param replaceValue A string containing the text to replace for every successful match of searchValue in this string.
*/
replaceAll(searchValue: string | RegExp, replaceValue: string): string;

/**
* Replace all instances of a substring in a string, using a regular expression or search string.
* @param searchValue A string to search for.
* @param replacer A function that returns the replacement text.
*/
replaceAll(searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string;
}

Context

Stack Overflow Q#63616486, score: 219

Revisions (0)

No revisions yet.