首頁  >  文章  >  web前端  >  在學習 javascript 的同時寫一個測試函數

在學習 javascript 的同時寫一個測試函數

王林
王林原創
2024-07-27 16:30:331032瀏覽

Write a test function while learning javascript

物體無所不在

嗯,您可能之前聽說過 JavaScript 中的物件以及它們對於理解該語言的重要性。
物件因其“key”:“value”模型而使 JS 變得非常可讀和有用。但我想強調的是,「值」部分不僅接受一個簡單的字串,還接受另一個對象,而該對象又可能是另一個對象,依此類推。例如:

const character = {
      name:"Arthur Morgan",
      age:24,
      face: {
      hairSize:5,
      eyesColor: "blue",
      }
}

這個片段表明,臉既是一個對象,也是一個角色。這樣做完全沒問題,而且許多複雜的 API 都會處理這樣的數據,並在重要時一遍又一遍地進行分組。

但是物件的真正力量依賴於函數,這個 Leet Code 問題就解決了它,並為我們提供了測試庫如何在幕後工作的要點。基本上,您需要一個函數來驗證值是否等於預期值: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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn