JavaScript のオブジェクトと、そのオブジェクトが言語を理解する上でどのように重要であるかについては、おそらく聞いたことがあるでしょう。
オブジェクトは、「キー」:「値」というモデルにより、JS を非常に読みやすく便利にします。しかし、私が注目したいのは、「値」セクションが単純な文字列だけではなく、別のオブジェクト、つまり別のオブジェクトなどを受け入れることです。例:
const character = { name:"Arthur Morgan", age:24, face: { hairSize:5, eyesColor: "blue", } }
このスニペットは、顔がキャラクターであるだけでなくオブジェクトであることを示しています。そうするのは全く問題なく、多くの複雑な API がそのようなデータを処理し、重要な場合には何度もグループ化します。
しかし、オブジェクトの本当の力は 関数 に依存しており、この Leet コードの問題はそれに対処するとともに、テスト ライブラリが内部でどのように動作するかの要点を与えてくれます。基本的に、値が期待値と等しいかそうでないかを検証する関数、toBe() と notToBe() が必要です。そのためには、これらの関数を使用してオブジェクトを返すことができます。ちなみに、アロー関数を使用すると、より美しく直接的になります。
これが答えです。
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), }; }
別のオブジェクト、つまり有名なコンソールとその機能ログを使用して、それが実行されているのをすぐに確認できます。
console.log(expect(5).toBe(null)); // give us an error "Not Equal", because 5 is not null
オブジェクトを返すという事実により、expect() を自由に使用でき、その直後に .toBe() を使用できることに注意してください。これは、オブジェクトを返し、すぐに関数である toBe プロパティにアクセスするためです。
この Leet コードの問題は、オブジェクトと関数がどのように連携して JavaScript で素晴らしいものを構築できるかを確認する優れた方法です。気に入っていただければ幸いです:)
以上がJavaScriptを学びながらテスト関数を書くの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。