为什么我不能在 ES6 中导出名为 "import" 的函数
Why can't I export a function named "import" in ES6
我想导出一个我命名为"import"的函数,如下所示:
export function import(foo, bar) {
console.log(foo + bar);
}
但是由于某些原因 es6 linter 抱怨 "import is not a valid identifier for a function"
see this fiddle
怎么了?我不能在 es6 中使用名为 import 的函数吗?出口呢?
EcmaScript 有很多保留字,作为标识符是无效的。
http://www.ecma-international.org/ecma-262/6.0/#sec-keywords 为您提供了不允许使用的单词的完整列表 - 是的,导出也被保留。
因为有很多保留字。
规范是这样说的:
An Identifier is an IdentifierName that is not a ReservedWord.
下面是更全面的 ReservedWords 列表:https://mathiasbynens.be/notes/reserved-keywords .
其中包括导入、导出和其他。
import
和 export
是 reserved words。您不能将它们用作函数声明的名称。
但是您仍然可以将它们用作导出的名称 - 只是不能用它声明变量:
function _import(foo, bar) {
console.log(foo + bar);
}
export {_import as import};
虽然我不建议这样做,但它同样会使导入复杂化。
我想导出一个我命名为"import"的函数,如下所示:
export function import(foo, bar) {
console.log(foo + bar);
}
但是由于某些原因 es6 linter 抱怨 "import is not a valid identifier for a function" see this fiddle
怎么了?我不能在 es6 中使用名为 import 的函数吗?出口呢?
EcmaScript 有很多保留字,作为标识符是无效的。
http://www.ecma-international.org/ecma-262/6.0/#sec-keywords 为您提供了不允许使用的单词的完整列表 - 是的,导出也被保留。
因为有很多保留字。
规范是这样说的:
An Identifier is an IdentifierName that is not a ReservedWord.
下面是更全面的 ReservedWords 列表:https://mathiasbynens.be/notes/reserved-keywords .
其中包括导入、导出和其他。
import
和 export
是 reserved words。您不能将它们用作函数声明的名称。
但是您仍然可以将它们用作导出的名称 - 只是不能用它声明变量:
function _import(foo, bar) {
console.log(foo + bar);
}
export {_import as import};
虽然我不建议这样做,但它同样会使导入复杂化。