2016-11-09 5 views
0

stringConstructor verwenden 1,8Wie die Zeichenfolge Constructor in Typoskript in Typoskript 2

interface StringConstructor { 
    trim(msg: string): string; 
} 
String.trim = function (msg: string) { 
       if (msg) 
        return msg.trim(); 
       return msg; 
      } 
String.trim("Url) 

aber nicht in Typoskript 2 zu arbeiten und Fehler Property 'trim' get existiert nicht auf Typ 'StringConstructor'.

+0

Dieser Code, wenn kopiert Spielplatz und dann in der Konsole ausgeführt wird, funktioniert gut. –

+0

Die Eigenschaft 'trim' ist oben für den Typ 'String' definiert. –

Antwort

0

Versuchen Sie folgendes:

module String { 
    export function trim(msg: string): string { 
    if (msg) 
     return msg.trim(); 
    return msg; 
    } 
} 
String.trim("Url") 

(Beachten Sie, dass Sie die Zeichenfolge schließenden Anführungszeichen verpasst)

Erklärung Kurz: Typoskript tut so genannte Erklärung Verschmelzung, die in the docs erklärt.

Für weitere Informationen siehe Jeffreys answer

+0

Dies scheint wie ein Overkill. Warum sollte man diesen Ansatz wählen, wenn es einen einfacheren gibt, wie den, den der OP versucht? –

+0

Ich konnte diesen Ansatz nicht mit meinem Typescript 2-Compiler arbeiten lassen. Würde gerne Arbeitsbeispiele dieses Ansatzes sehen :) Zum Beispiel - [This] (http://StackOverflow.com/A/18853267/7126139) soll ein funktionierendes Beispiel sein, hat aber meinen Compiler nicht bestanden. –

+0

Der Code in der Antwort, mit der Sie verlinkt haben, funktioniert großartig auf dem Spielplatz, genau wie der Code, den das OP gepostet hat. –