Press "Enter" to skip to content

[Quicktipp] sprintf() unter JavaScript

Das Zusammensetzen von Strings in JavaScript kann über verschiedene Wege gelöst werden. Am bekanntesten ist das Zusammensetzen bzw. die Verkettung von Strings (Concatenation). Unter PHP gibt es das allseits bekannte sprintf, was JavaScript leider nicht automatisch im Gepäck hat.

Wer auf die Funktion in JavaScript nicht verzichten möchte, kann sich selber eine sprintf Funktion zusammen coden oder am besten sprintf.js einsetzen. Mit über 1.500 Sternen ist das Github Projekt schon bekannter. Neben JavaScript ist sprintf.js auch unter NPM anwendbar. Hier ein paar Anwendungsbeispiele:

var users = [
    {name: 'Dolly'},
    {name: 'Molly'},
    {name: 'Polly'},
]
sprintf('Hello %(users[0].name)s, %(users[1].name)s and %(users[2].name)s', {users: users});
// Hello Dolly, Molly and Polly
sprintf('Current date and time: %s', function() { return new Date().toString() })
sprintf('%2$s %3$s a %1$s', 'cracker', 'Polly', 'wants');
// Polly wants cracker

One Comment

  1. benediktg benediktg

    Es gibt auch Template Literals, mit denen geht so etwas ohne zusätzliches Javascript:

    var users = [
    {name: ‚Dolly‘},
    {name: ‚Molly‘},
    {name: ‚Polly‘},
    ]
    console.log(`Hello ${users[0].name}, ${users[1].name} and ${users[2].name}`);

    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals

    Im Grunde genommen einfach nur den String mit Backticks (`) umschließen und innerhalb von ${} können normale Javascript-Ausdrücke platziert werden. 😉

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.