2016-04-24 7 views
1

Ich möchte Export eine Funktion I "Import" wie folgt benannt:
Warum kann ich nicht eine Funktion exportieren in ES6 dem Namen "Import"

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

jedoch aus irgendeinem Grund die es6 Linter beklagt, dass "Import ist kein gültiger Bezeichner für eine Funktion" see this fiddle

Was ist los? Kann ich meine Funktion in es6 nicht importieren lassen? Was ist mit Export?

+0

'import' ist ein reserviertes Wort. Sie können es nicht als Namen einer Funktionsdeklaration verwenden. – Bergi

Antwort

4

import und export sind reserved words. Sie können sie nicht als Namen einer Funktionsdeklaration verwenden.

Sie können sie aber immer noch als Name verwenden für Ihre Exporte - Sie können nicht nur eine Variable mit ihm erklären: wenn

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

ich davon abraten würde, erschwert es den Import ähnlich.

2

Da gibt es viele reservierte Wörter.

Die Spezifikation sagt dies:

eine Kennung ein IdentifierName ist das kein ReservedWord ist.

Hier ist eine umfassendere Liste von ReservedWords: https://mathiasbynens.be/notes/reserved-keywords.

Import, Export und andere sind unter ihnen.