搜索

首页  >  问答  >  正文

何时应该在ES6箭头函数中使用return语句?

<p>新的ES6箭头函数说在某些情况下,<code>return</code>是隐式的:</p> <blockquote> <p>该表达式也是该函数的隐式返回值。</p> </blockquote> <p>在哪些情况下我需要在ES6箭头函数中使用<code>return</code>?</p>
P粉771233336P粉771233336462 天前626

全部回复(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
  • 取消回复