【发布时间】:2012-10-04 17:06:00
【问题描述】:
如果我有这个 TypeScript 代码:
module Foo
{
var x : string ="value";
module Bar
{
export var x = x;
}
}
它编译为以下 JavaScript:
var Foo;
(function (Foo) {
var x = "value";
var Bar;
(function (Bar) {
Bar.x = Bar.x;
})(Bar || (Bar = {}));
})(Foo || (Foo = {}));
问题在于Bar.x = Bar.x 的行。如何将 Bar.x 设置为 Foo.x?是否需要export Foo.x 所以我可以说Bar.x = Foo.x?
【问题讨论】:
-
它看起来像一个阴影问题。
export var _x = x工作正常。 -
是的——在纯 JavaScript 中,
var x = x;不会获取父x的值,因为var语句的语义。
标签: javascript typescript