为什么我不能导出一个名为" import"在ES6中

时间:2016-04-24 11:33:33

标签: javascript ecmascript-6 es6-module-loader

我想导出我命名的函数" import"像这样:

export function import(foo, bar) {
    console.log(foo + bar);
}

然而由于某种原因,es6 linter抱怨" import不是函数的有效标识符" see this fiddle

出了什么问题?我不能在es6中使用名为import的函数吗?出口怎么样?

3 个答案:

答案 0 :(得分:4)

importexportreserved words。您不能将它们用作函数声明的名称。

但是,您仍然可以将它们用作导出的名称 - 您无法使用它来声明变量:

function _import(foo, bar) {
    console.log(foo + bar);
}
export {_import as import};

我会建议不要这样做,这会使导入变得相似。

答案 1 :(得分:3)

EcmaScript有很多保留字,它们无效作为标识符。

http://www.ecma-international.org/ecma-262/6.0/#sec-keywords为您提供了不允许使用的完整单词列表 - 是的,导出也是保留的。

答案 2 :(得分:2)

因为有很多保留字。

规范说明了这一点:

  

标识符是不是ReservedWord的IdentifierName。

以下是更全面的ReservedWords列表:https://mathiasbynens.be/notes/reserved-keywords

其中包括进口,出口等。