导出const语句在它们所在的文件中是否可见?

时间:2017-12-05 11:01:30

标签: javascript ecmascript-6

export const语句在它们所在的文件中是否可见?

export const MAX_NAME_LENGTH = 20;
console.log(MAX_NAME_LENGTH); // can I do this?

1 个答案:

答案 0 :(得分:1)

是的,他们是。声明仍然是它出现的范围内的声明(例如,模块的范围,因为export只能出现在那里)并且所有关于声明的通常规则都适用;所有export都会导出它。

在这种特定情况下,由于它是const声明,通常的规则"包括无法使用MAX_NAME_LENGTH的声明上方的临时死区。如果您导出了这样的函数声明:

export function foo() {
}

..."通常的规则"意味着您可以在模块代码中的任何位置使用foo,因为它仍然悬挂。 (export var x;相同。)

(您也可以使用最新版本的Chrome测试此类内容,现在支持模块。:-))