Aggiungere un metodo alla classe String con TypeScript

di Stefano Mostarda, in HTML5,

Quando vogliamo aggiungere un metodo a una classe esistente dobbbiamo usare una funzionalità di TypeScript nota come module augmentation. Vediamo prima il codice e poi lo analizziamo.

declare global {
  interface String {
    formatByPosition(...values: any[]): string;
  }
}

String.prototype.formatByPosition = function (...values: any[]) {
  return this.replace(/{(\d+)}/g, function (match, number) {
    return (values[number]) || match;
  });
};

Nella prima parte del codice dichiariamo nel namespace globale l'interfaccia String alla quale aggungiamo un metodo formatByPosition. Dopo aver aggiunto il metodo all'interfaccia String, dobbiamo aggiungere la sua implementazione al prototype della classe String.

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi