Wie macht Chai JS Funktion Klammern optional?

8

Ich beziehe mich auf die Testing Assertion Library: Ссылка

Sie können Sprachkettenassertionen wie folgt schreiben:

%Vor%

expect () ist offensichtlich eine globale Funktion, "to.be" sieht wie zwei Eigenschaften aus, aber wie funktioniert der letzte Teil "false"? Ich erwarte, dass es ein Funktionsaufruf sein müsste:

%Vor%

Ist das 2015 ES-Syntax? Ich kann keinen Hinweis darauf finden in Ссылка

Stack Overflow sagt, dass es nicht möglich ist: How to optionale Klammern beim Funktionsaufruf implementieren? (Funktionsüberladung)

Kann jemand etwas darüber sagen, wie so etwas umgesetzt wird?

Quellcode: Ссылка

    
Mike R 10.05.2016, 21:52
quelle

1 Antwort

11

Du kannst das (und viele andere Sachen) mit Object.defineProperty machen. Hier ist ein einfaches Beispiel:

%Vor%

Mit Object.defineProperty können Sie noch viel mehr tun. Sie sollten die MDN-Dokumente für Object.defineProperty herunterladen Detail.

    
Andrew Burgess 10.05.2016, 22:06
quelle