我是TypeScript的新手,但它似乎比JavaScipt具有一定的优势,所以我很想尝试一下。
我正在使用PhantomJS进行操作,例如按照示例代码收集由网页设置的cookie。
因此,我创建了一个名为.js
的{{1}}文件-
cookies.js
并像var webPage = require('webpage');
var page = webPage.create();
page.open('http://phantomjs.org', function (status) {
var cookies = page.cookies;
console.log('Listing cookies:');
for(var i in cookies) {
console.log(cookies[i].name + '=' + cookies[i].value);
}
phantom.exit();
});
现在,我想将其转换为TypeScript文件,然后以相同的方式执行它。我发现,只要将其重命名为phantomjs cookies.js
,它仍然可以使用。我有2个问题-
我应该这样做吗?我的意思是我将纠正从JS到TS的语法。在这小段代码中,我看不到很多好处,我只是出于好奇而这样做。
PhantomJS是否支持此行为? (使用由cookies.ts
插入的.ts
)
答案 0 :(得分:1)
Typescript是Javascript的超集。这意味着任何有效的JS文件也是有效的TS文件。
因此,您可以将.js
文件重命名为.ts
,它可以工作,但是相反的情况不一定成立。一旦开始添加特定于Typescript的语法,例如let name:string
,将文件从.ts
重命名为.js
就会破坏它。
PhantomJS是(无头)浏览器,并且像任何浏览器一样,它只能运行Javascript。
您需要使用Babel或tsc
(TypeScript编译器)命令行之类的工具将Typescript正确转换为Javascript。