簡體   English   中英

返回對象的 JavaScript 函數

[英]JavaScript function that returns an object

這個函數應該返回一個對象,但是,下面使用的構造對我來說是不熟悉的。 這個功能是如何工作的?

function expect(value) {
  return {
    toBe: exp => console.log(success)
  }
}

這是一個標准的 JavaScript 函數:

function(parameter1, parameter2) {
    return returnVal;
}

但是返回的對象如下所示:

{
    toBe: exp => console.log(success)
}

這是一個包含 ES6 箭頭函數的對象,也可以這樣表達(直接翻譯為 ES5 函數):

{
    toBe: function(exp) { 
        return console.log(success);
    }
}

閱讀這里了解更多關於 ES6 箭頭函數符號的信息。

我認為值得強調的是,它返回一個對象,其鍵包含一個函數作為值。 您可以以與運行屬於某個類的方法相同的方式運行它。 不知不覺它失敗了,因為沒有定義成功。

 function expect(value) { return { toBe: exp => console.log(success) } } let res = expect('value') console.log(res) res.toBe('test')

我會說這是代碼的意圖,我認為這很有意義; 調用 toBe 時完成評估,這會調用 console.log(它測試條件,何時調用並打印結果):

 function expect(value) { return { toBe: exp => console.log(exp === value) } } expect('value').toBe('value') expect('notvalue').toBe('value')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM