Eh bien, vous avez probablement déjà entendu parler des objets en JavaScript et de leur importance pour comprendre le langage.
Les objets rendent JS extrêmement lisible et utile grâce à son modèle "key": "value". Mais ce que je veux souligner, c'est que la section "valeur" accepte non seulement une simple chaîne, mais plutôt un autre objet, qui à son tour peut être un autre objet et ainsi de suite. Par exemple:
const character = { name:"Arthur Morgan", age:24, face: { hairSize:5, eyesColor: "blue", } }
Cet extrait montre que le visage est à la fois un objet et un personnage. C'est parfaitement bien de le faire, et de nombreuses API complexes traitent des données comme celles-là, les regroupant encore et encore lorsque cela est important.
Mais le véritable pouvoir des objets repose sur les fonctions, et ce problème de Leet Code le traite, tout en nous donnant l'essentiel du fonctionnement des bibliothèques de tests sous le capot. Fondamentalement, vous avez besoin d'une fonction qui valide si une valeur est égale à celle attendue ou non : toBe() et notToBe(). Pour ce faire, nous pouvons renvoyer un objet avec ces fonctions. À propos, l'utilisation des fonctions fléchées le rend plus joli et plus direct.
Voici la réponse.
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), }; }
On peut rapidement le voir fonctionner à l'aide d'un autre objet : la fameuse console et son log de fonctions.
console.log(expect(5).toBe(null)); // give us an error "Not Equal", because 5 is not null
Notez que le fait de retourner un objet nous donne la liberté d'utiliser expect() puis, juste après, .toBe(). En effet, nous renvoyons un objet et accédons immédiatement à la propriété toBe, qui est une fonction.
Ce problème de code Leet est un excellent moyen de voir comment les objets et les fonctions peuvent fonctionner ensemble et créer des éléments géniaux en JavaScript. J'espère que tu as aimé :)
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3