ES6的出口和花括号

时间:2016-01-08 03:04:28

标签: javascript ecmascript-6 es2015

我看到一个代码已经发布在聊天频道中。在他的代码的最后是

export {UserInformation};

有些团体说语法错误。有些人说只要变量存在就可以了。

哪个群体是对的?这是我第一次看到这种语法。我从未见过出口花括号。我只在导入时使用它们。喜欢这个

import {method} from 'someModule';

如果我正在写它,我会把它写成

export default UserInformation;

我不想用错误的信息污染我的大脑。让我知道哪个出口是正确的。

1 个答案:

答案 0 :(得分:15)

语法正确。此

export {UserInformation};

的简写
export {UserInformation as UserInformation};

就像在做

export const UserInformation = {};

定义UserInformation时。

能够从定义其定义的不同位置的模块中导出某些内容(例如,为了便于阅读),这非常有用。

在这种情况下,您可以像这样导入UserInformation

import {UserInformation} from 'UserInformation.js';

请注意,export default UserInformation; 等同于此。在这种情况下,您将UserInformation作为默认模块导出。要在这种情况下导入UserInformation,您可以:

import UserInformation from 'UserInformation.js';

这是

的简写
import {default as UserInformation} from 'UserInformation.js';

This blog post是关于该主题的精彩读物。