Oltre agli ovvi miglioramenti di leggibilità (presupponendo ovviamente funzioni ben definite / con scope), questo ha anche il strong vantaggio di fornire un punto di astrazione per la funzionalità.
Supponiamo di avere 30 posizioni nel codice in cui si desidera utilizzare questa funzionalità, e si fa non per mettere un wrapper di funzione su di esso. Quindi, se tale funzionalità deve cambiare, è necessario trovarla e modificarla in 30 luoghi, il che è molto soggetto a errori (specialmente in JS, dove gli strumenti di refactoring sono al massimo immaturi).
Se quello era in una funzione, basta cambiare il contenuto della funzione (un cambio di codice di un punto) e il resto è isolato.
Forse il tuo codice specifico nella domanda non è il miglior esempio di quanto possa essere importante, ma è un concetto molto strong in generale, IMNSHO. Non uso molto la parola 'sempre', ma preferirei quasi sempre un wrapper di funzioni per quel solo punto di astrazione, indipendentemente dai vantaggi di denominazione / organizzazione aggiunti.
In realtà, la tua funzione è un esempio decente del mio punto. Se mai (per qualche ragione che non riesco a capire al momento, ma questo è oltre il punto) volevo cambiare il modo in cui sfuggi alla stringa o allontanati dall'espressione regolare, dovresti solo cambiare il corpo della funzione, non trovare ogni si utilizza RegEx.escape