Type Konvetierung / "implicit type conversion" Problem

  • Hallo zusammen,

    wie konvertiert ihr unterschiedliche Typen zu einem String? Ich laufe immer wieder in diesen "implicit type conversion is prohibited" Fehler. Wie löst ihr das Problem?

    Immer wenn ich einen String aus mehreren Attribute zusammensetze und nicht alle Attribute sind vom Typ String, kommt dieser Fehler.

    Die Methode "print" geht ja schon clever damit um (print ("string", bool, null))

    Wenn ich jetzt aber aus einem JSON bspw. einen Boolean an einen String hängen möchte, geht das nicht so einfach (let var = "string" + true; // --> ERROR)

    Habt ihr euch dafür kleine Helfermethoden geschrieben oder gibt es eine build-in Funktion, die ich noch nicht kenne, die das schon macht?

    Nebenfrage: Gibt es eigentlich einen syntaktischen Unterschied zwischen Anführungszeichen "bla" und Hochkomma'bla'?

  • Zum Konvertieren von anderen Datentypen zu Strings oder anders herum lassen sich JSON.stringify bzw. JSON.parse nutzen.

    Zahl zu String:

    Code
    let a = JSON.stringify(42);
    console.log(a, typeof a);

    oder Boolean

    Code
    let a = JSON.stringify(true);
    console.log(a, typeof a);

    oder null

    Code
    let a = JSON.stringify(null);
    console.log(a, typeof a);

    oder anders herum, z.B. String to Number:

    Code
    let a = JSON.parse("42");
    console.log(a, typeof a);

    und nein, soweit mir bekannt gibt es keine Unterschiede bei den einfachen bzw. doppelten Anführungszeichen.

    >100 Shellies, darunter so gut wie alles was der Hersteller produziert hat. ;)
    :!: ich beantworte grundsätzlich keine Fragen per persönlicher Nachricht:!: