搜尋

首頁  >  問答  >  主體

何時應該在ES6箭頭函數中使用return語句?

<p>新的ES6箭頭函數說在某些情況下,<code>return</code>是隱式的:</p> <blockquote> <p>此表達式也是函數的隱含回傳值。 </p> </blockquote> <p>在哪些情況下我需要在ES6箭頭函數中使用<code>return</code>? </p>
P粉771233336P粉771233336458 天前619

全部回覆(2)我來回復

  • P粉258083432

    P粉2580834322023-08-23 11:00:08

    我理解這個經驗法則...

    候選項為:

    // 平方根
    value => Math.sqrt(value)
    
    // 求和
    (a,b) => a+b

    對於其他操作(需要多行程式碼的情況,需要明確傳回值)

    回覆
    0
  • P粉012875927

    P粉0128759272023-08-23 00:47:21

    Jackson在一個類似的問題中部分地回答了這個問題

    我要補充一下block的定義:

    範例

    // 返回:undefined
    // 解释:一个空的带有隐式返回的块
    ((name) => {})() 
    
    // 返回:'Hi Jess'
    // 解释:没有块意味着隐式返回
    ((name) => 'Hi ' + name)('Jess')
    
    // 返回:undefined
    // 解释:块内需要显式返回,但是缺少了
    ((name) => {'Hi ' + name})('Jess')
    
    // 返回:'Hi Jess'
    // 解释:块内有显式返回
    ((name) => {return 'Hi ' + name})('Jess') 
    
    // 返回:undefined
    // 解释:一个包含单个标签的块。没有显式返回。
    // 更多信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/label
    ((name) => {id: name})('Jess') 
    
    // 返回:{id: 'Jess'}
    // 解释:隐式返回表达式 ( ),其求值为一个对象
    ((name) => ({id: name}))('Jess') 
    
    // 返回:{id: 'Jess'}
    // 解释:块内有显式返回对象
    ((name) => {return {id: name}})('Jess')

    回覆
    0
  • 取消回覆