亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

ES6中數據的includes的例子無法理解,定義時無設形參,但調用卻能傳遞參數?

ES6中數據的includes的例子無法理解,定義時無設形參,但調用卻能傳遞參數?

慕勒3428872 2018-10-24 12:52:32
相關代碼const contains = (() =>   Array.prototype.includes     ? (arr, value) => arr.includes(value)     : (arr, value) => arr.some(el => el === value) )();contains(['foo', 'bar'], 'baz'); // => false這是我在阮一峰ES6的教程看到的一個例子,無法理解調用該函數時,參數是如何傳遞的?
查看完整描述

1 回答

?
MMTTMM

TA貢獻1869條經驗 獲得超4個贊

這個代碼寫得太精煉了,我們來提取一下重點:

const something = Array.prototype.includes
  ? (arr, value) => arr.includes(value)
  : (arr, value) => arr.some(el => el === value)const contains = (() => something)();

contains(['foo', 'bar'], 'baz'); // => false

于是問題來了:

  1. something 的類型是什么?

  2. contains 等號后面是個什么?


答案:

  1. something 的類型是個函數,由那個三元表達式計算得出。

  2. contains 等號后面的是一個立即執行函數表達式 (IIFE),這個表達式的計算結果是 something


查看完整回答
反對 回復 2018-10-24
  • 1 回答
  • 0 關注
  • 549 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號