:alias: mit Emoji ersetzen

A (Snowy) Day In New York
Flickr: A (Snowy) Day In New York
von The All-Nite Images (CC BY-SA)

Vor ungefähr einem Monat wurde ich auf Telegram gefragt, ob ich bei einem kleinen Code-Schnippsel aushelfen könnte. Es geht darum, Emoji anstelle der :alias: zu platzieren. Die kommen beispielsweise vom Backend per JSON als Unicode rein.

Ich hab die Erlaubnis, den Code hier zu teilen 🙂

Im Wesentlichen geht es um diesen Snippet:

var emoji = {
    smile: {
        keyword: ':smile:',
        replace: '😁'
    },
    joy: {
        keyword: ':sad:',
        replace: '😭'
    },
    happy: {
        keyword: ':happy:',
        replace: '😂'
    },
    love: {
        keyword: ':love:',
        replace: '😚'
    }
}

Wie zu sehen ist, geht es um Unicode-Repräsentationen. Für den umgekehrten Weg gibt es auch schon Lösungen.

Der Standard-Weg geht über eine for-Schleife.

Ich versuche allerdings in JavaScript, diese Schleifen zu vermeiden. Warum? Gültigkeitsbereich (engl. Scope). In JavaScript sind Variablen, die über var deklariert wurden, innerhalb der gesamten Funktion bekannt. Anderer Programmiersprachen beschränken die Gültigkeit oftmals auf einen Code-Block (wie etwa alles zwischen den geschweiften Klammern einer for-Schleife).

Das geht in ECMAScript2016 mit einer Deklaration über let. Aber manche Entwickler wollen (oder dürfen) noch nicht die neuen Standards anwenden. Von daher hier eine Lösung:

Falls ihr Verbesserungsvorschläge habt, immer her damit! Ich freue mich auf Kommentare 🙂

Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s