【发布时间】:2013-08-26 07:13:00
【问题描述】:
考虑以下 Typescript 代码:
module demoAppModule{
'use strict';
export module nest{
export var hello = function () {
alert('Hello!');
};
}
}
demoAppModule.nest.hello();
转译后我们有以下 javascript 代码:
var demoAppModule;
(function (demoAppModule) {
'use strict';
(function (nest) {
nest.hello = function () {
alert('Hello!');
};
})(demoAppModule.nest || (demoAppModule.nest = {}));
var nest = demoAppModule.nest;
})(demoAppModule || (demoAppModule = {}));
demoAppModule.nest.hello();
为什么会生成这条线?眼睛疼。
var nest = demoAppModule.nest;
【问题讨论】:
-
那行对我来说似乎完全没用。我能想到的唯一原因是编译器认为参数
nest必须在函数hello之前定义,但是赋值发生在最底部,然后什么都不做。
标签: javascript compilation typescript