ES6导出函数

时间:2017-04-18 15:49:40

标签: javascript ecmascript-6 export

我正在尝试在ES6中导出函数的结果。该功能并不重要 - 以下示例适用于:const func = input => input

这有效:

const a = 'foo'
const b = 'bar'

export default {
  a: func(a),
  b: func(b)
}

然而这些错误:SyntaxError: Unexpected token, expected ,

export {
  a: func(a),
  b: func(b)
}

也:

export {
  func(a) as a,
  func(b) as b
}

你能解释一下原因吗? This似乎不包括上述情况。

2 个答案:

答案 0 :(得分:4)

你可以做到

const aArg = 'foo'
const bArg = 'bar'

export const a = func(aArg);
export const b = func(bArg);

命名导出需要输出变量名称,它们无法导出任意表达式结果。

答案 1 :(得分:1)

export default ...

您正在导出单个对象,类,函数等

export (Object, Class, Function) ...

您正在导出许多对象,类,函数等,因此您必须将其指定为名称。

第一个例子有点像你在学校教一个学生。你知道那个学生是谁以及如何打电话给他,因为他是那里唯一的学生。然而,第二个例子就像教授一个有很多学生的课程,你需要某种类型的命名来呼叫正确的学生。