ES6 export default AssignmentExpression

2019-01-20 19:00发布

问题:

export default var foo = {...}

It's AssignmentExpression and valid es6 syntax? JSHint says it Expected an identifier and instead saw 'var'.

On last spec I not found any relation with VariableStatement and AssignmentExpression.

回答1:

var foo = {...}

is not an AssignmentExpression. AssignmentExpression is almost the top level non-terminal symbol that represents all expression, i.e. basically every expression is an AssignmentExpression.

var only appears in a variable declaration or a for loop, so drop the var.