在项目设置中,您可以在“ECMA Script 5”和“ECMA Script 6”之间设置“ECMA Script”。
但我真的很困惑这到底是做什么的。我已经尝试了所有三种设置,无论设置如何,我的输出 JavaScript 代码都完全相同。
这些是“ECMA Script 6”中的新东西:
但是当设置为“ECMA Script 6”时,我在输出代码中并没有真正看到任何这些。
作为示例,这里是一些 Delphi 编程代码:
procedure TFrame_404PageNotFound.WebFrameResize(Sender: TObject);
const
TestingConstant: String = 'Hello World!';
var
TestingSomething: String;
I: UInt64;
begin
For I := 0 to 10 do
TestingSomething := 'Hello World!';
console.log('TFrame_404PageNotFound.WebFrameResize');
end;
这是它的输出 JavaScript:
var TestingConstant = "Hello World!";
this.WebFrameResize = function (Sender) {
var TestingSomething = "";
var I = 0;
for (I = 0; I <= 10; I++) TestingSomething = "Hello World!";
window.console.log("TFrame_404PageNotFound.WebFrameResize");
};
我希望代码会变成更像 ES6 的东西,就像选择“ECMA Script 6”时一样。像这样的东西:
const TestingConstant = "Hello World!";
this.WebFrameResize = (Sender) => {
let TestingSomething = "";
for (let I = 0; I <= 10; I++) TestingSomething = "Hello World!";
window.console.log("TFrame_404PageNotFound.WebFrameResize");
};
那么“ECMA Script”设置实际上有什么作用呢? “ECMA 脚本 5”和“ECMA 脚本 6”有什么区别?
因为据我所知,无论我的“ECMA Script”设置如何,我的输出 JavaScript 都是完全相同的。
我对 TMS Web Core 不太熟悉,但在简单深入研究后,我偶然发现了一些有价值的见解。 TMS Web Core 使用 Pas2js 将 Pascal 编写的程序转换为 JavaScript。根据 Pas2js 官方文档,它使用 ECMA Script 5 作为默认 JavaScript 版本,这应该可以减轻有关没有指定版本的翻译的任何担忧。
关于ECMA Script 6版本,我遇到的信息有限,具体为:
ECMAScript6:引入 0b 表示二进制文字,0o 表示八进制文字。
我根据此片段制定了两种理论:要么 ECMAScript 6 翻译器仅合并了这些更改,要么 TMS Web Core 与 Pas2js 的集成可能存在问题。
欲了解更多详情,您可以浏览以下链接: