Nun, Sie haben wahrscheinlich schon einmal von Objekten in JavaScript gehört und wie wichtig sie für das Verständnis der Sprache sind.
Objekte machen JS aufgrund seines Modells „key“: „value“ äußerst lesbar und nützlich. Aber was ich hervorheben möchte, ist, dass der Abschnitt „Wert“ nicht nur eine einfache Zeichenfolge akzeptiert, sondern vielmehr ein anderes Objekt, das wiederum ein anderes Objekt usw. sein kann. Zum Beispiel:
const character = { name:"Arthur Morgan", age:24, face: { hairSize:5, eyesColor: "blue", } }
Dieser Ausschnitt zeigt, dass das Gesicht sowohl ein Objekt als auch ein Charakter ist. Das ist vollkommen in Ordnung, und viele komplexe APIs verarbeiten solche Daten und gruppieren sie immer wieder, wenn es darauf ankommt.
Aber die wahre Leistungsfähigkeit von Objekten beruht auf Funktionen, und dieses Leet-Code-Problem befasst sich damit und gibt uns einen Überblick darüber, wie Testbibliotheken unter der Haube funktionieren. Grundsätzlich benötigen Sie eine Funktion, die überprüft, ob ein Wert dem erwarteten Wert entspricht oder nicht: toBe() und notToBe(). Dazu können wir mit diesen Funktionen ein Objekt zurückgeben. Durch die Verwendung von Pfeilfunktionen wird es übrigens schöner und direkter.
Hier ist die Antwort.
function expect(val) { function toBe(anotherValue) { if (val === anotherValue) { return true; } throw Error("Not Equal"); } function notToBe(anotherValue) { if (val !== anotherValue) { return true; } throw Error("Equal"); } return { toBe: (anotherValue) => toBe(anotherValue), notToBe: (anotherValue) => notToBe(anotherValue), }; }
Wir können schnell sehen, wie es mit einem anderen Objekt läuft: der berühmten Konsole und ihrem Funktionsprotokoll.
console.log(expect(5).toBe(null)); // give us an error "Not Equal", because 5 is not null
Beachten Sie, dass die Tatsache, dass ein Objekt zurückgegeben wird, uns die Freiheit gibt, expect() und dann, direkt danach, .toBe() zu verwenden. Das liegt daran, dass wir ein Objekt zurückgeben und sofort auf die Eigenschaft toBe zugreifen, die eine Funktion ist.
Dieses Leet-Code-Problem ist eine hervorragende Möglichkeit, zu sehen, wie Objekte und Funktionen zusammenarbeiten und großartige Dinge in JavaScript erstellen können. Ich hoffe es hat euch gefallen :)
Das obige ist der detaillierte Inhalt vonSchreiben Sie eine Testfunktion, während Sie Javascript lernen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!