Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

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

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?

over 4 years ago · Santiago Trujillo
7 answers
Answer question

0

From the docs:

As of August 2020 the replaceAll() method is supported by Firefox but not by Chrome. It will become available in Chrome 85.

Meanwhile you could find multiple other methods here.

Screenshot for possible future readers:

enter image description here

over 4 years ago · Santiago Trujillo Report

0

You may solve the problem using RegExp and global flag. The global flag is what makes replace run on all occurrences.

"1399/06/08".replace(/\//g, "_") // "1399_06_08"
over 4 years ago · Santiago Trujillo Report

0

Chrome supports replaceAll so it is safe to use. However typescript still issues an error, so you may cast your string to any, in order to overcome that obstacle.

const date: any ="1399/06/08"
console.log(date.replaceAll('/','_'))
over 4 years ago · Santiago Trujillo Report

0

Just Use this function

    let date="1399/06/08"
    
    console.log(date.split('/').join('_'))

over 4 years ago · Santiago Trujillo Report

0

You can create a file

myOwnTypes.d.ts

at the root of your angular project and add the following code:

interface String {
    replaceAll(input: string, output : string): any;
}

That will tell typescript that strings has this property.

Now replaceAll is supported in Chrome and Firefox but is always good to check the caniuse to check if it fits your needs.

https://caniuse.com/?search=replaceAll

If this works for you upvotes are more than welcome, Im starting with this stackoverflow account and would appreciate the support :)

over 4 years ago · Santiago Trujillo Report

0

According to MDN Web Docs,

"to perform a global search and replace, include the g switch in the regular expression".

So, you can try doing:

const date="1399/06/08"
const forwardSlashRegex = /(\/)/g;
console.log(date.replace(forwardSlashRegex, '_'));

This automatically replaces all forward slashes with the underscore. Make sure to also keep the /g global indicator at the end of the regex, as it allows JS to know that you want to replace ALL places where the forward slash occurs.

For more info on the use of regex indicators, refer to the following very useful guide: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions

over 4 years ago · Santiago Trujillo Report

0

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;
}
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!