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

132
Views
El parche de mono mecanografiado no funciona para String

Creo una nueva interfaz para String para agregar algunos métodos de utilidad utilizando la técnica de parches de mono.

 interface String { toCamelCase(): string; } String.prototype.toCamelCase = function (): string { return this.replace(/[^az ]/gi, '').replace( /(?:^\w|[AZ]|\b\w|\s+)/g, (match: any, index: number) => { return +match === 0 ? '' : match[index === 0 ? 'toLowerCase' : 'toUpperCase'](); }, ); };

en mi controlador cuando llamo a esta nueva función: toCamelCase:

 const str: string = 'this is an example'; const result = str.toCamelCase(); console.log(result);

tengo este error:

[Nest] 35664 - ERROR [ExceptionsHandler] str.toCamelCase no es una función TypeError: str.toCamelCase no es una función

¿Qué tiene de malo esta implementación?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

En lugar de contaminar el prototipo de String , sugeriría crear una función camelCase(str: string): string que toma la cadena que desea convertir en camel case y la devuelve después de ser camelCased. Algo como

 export const camelCase = (str: string): string => { return str.replace(/[^az ]/gi, '').replace( /(?:^\w|[AZ]|\b\w|\s+)/g, (match: any, index: number) => { return +match === 0 ? '' : match[index === 0 ? 'toLowerCase' : 'toUpperCase'](); }, ); }

Y ahora se puede importar como import { camelCase } from './utilties'; y llamado como camelCase('Hello World!');

Esto conducirá a que la función sea más independiente, robusta y más fácil de probar que intentar modificar el prototipo de String , además, la modificación del prototipo ya no es común.

about 4 years ago · Juan Pablo Isaza 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!