是否可以在ES6/7中导出箭头功能?

joz*_*zzy 77 javascript ecmascript-6 arrow-functions

下面的export语句给出了语法错误

export default const hello = () => console.log("say hello")
Run Code Online (Sandbox Code Playgroud)

为什么?

我只能导出命名函数

export function hello() {
  console.log("hello")
}
Run Code Online (Sandbox Code Playgroud)

是什么原因?

Fel*_*ing 125

是否可以在ES6/7中导出箭头功能?

是.export不关心您要导出的值.

下面的export语句给出了语法错误......为什么?

您不能使用默认导出为其命名("默认"已经是导出的名称).

要么这样做

export default () => console.log("say hello");
Run Code Online (Sandbox Code Playgroud)

要么

const hello = () => console.log("say hello");
export default hello;
Run Code Online (Sandbox Code Playgroud)

  • @Tomasz:`export const getUser =()=> {...};` (36认同)
  • 下面的工作原理是如何导出默认的hello =()=> {console.log(“ why downvote”)} (4认同)
  • `x = y`是一个赋值表达式,它解析为`y`的值.这不是变量声明.您可以将`x = y`放在可以放置表达式的任何位置.**注意:**如果事先没有定义`x`,这将抛出严格模式. (3认同)
  • @Burrich:无论函数是如何创建的,都应该无关紧要,只要它可以按照预期的方式使用. (3认同)
  • 常规出口怎么样?可以做一些像:`export()=> {/*body*/}作为getUsers;`?或者我必须首先定义它,然后导出它? (2认同)

Rap*_*nel 29

如果您不想要默认导出,您可以使用以下语法简单地导出命名函数:

export const yourFunctionName = () => console.log("say hello");
Run Code Online (Sandbox Code Playgroud)