[英]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.