TypeScript !!!

2012-10-02 21:54:17 +08:00
 guotie
TypeScript is a language for application-scale JavaScript development.
TypeScript is a typed superset of JavaScript that compiles to plain JavaScript.
Any browser. Any host. Any OS. Open Source.

from microsoft.

http://www.typescriptlang.org/

有人关注吗?
9039 次点击
所在节点    JavaScript
44 条回复
haxe
2012-10-04 11:53:16 +08:00
”typed superset of JavaScript“
个人感觉概括了TypeScript的两大特性:强类型和兼容现有JavaScript(就好比C++与C的关系?)
CoffeeScript相比之下,1.语法上和js相差太大,2.不是强类型语言,3.最后生成的代码也是一堆难以阅读的东西。我对CoffeeScript不太了解,不知道TypeScript的出现会不会直接宣告着它的死亡?
最后一点,虽然TypeScript来自微软,但是它是一个开源语言。任何人都可以去fork它。
N8hanE5me
2012-10-04 14:28:47 +08:00
作为一个JS preprocessor TypeScript做的不错,只是不需要标榜强类型,那是为MS自家的IDE提供便利的手段。和CoffeeScript比较的话我觉得语法上TS更接近于JavaScript,可以说是降低了学习的门槛。

觉得“来自MS”这件事没什么好多抱怨,TS是开源的,MS也为几个主流的text editor提供了syntax highlighter这样的基本支持,这我觉得也算是个进步了。

最后是IDE方面,TS本质上只是个JS预处理器,和LESS和CSS的关系类似。它本身并没有像.NET或dart那样引入整套的ecosystem,所以我觉得在熟悉JS的前提下,IDE所能提供的部分功能,比如显示方法使用的介绍等,用处可能并不像其在.NET中那么明显。了解一些TS的语法后,用sublime text 2这样的文本编辑器在大部分时候也不会遇到很大的麻烦。

所以个人觉得这个语言还是值得去尝试一下的。
jjx
2012-10-04 18:46:02 +08:00
强类型后,tsc能识别并且警告,当然vs 可能是目前(估计也没有第三方会做)唯一提供提示的编辑器

typescript 应该比CoffeeScript目标要大的多,比方说类型系统,模块,未来的ecmascript6特性等

我倒是想ms能实现await 关键字,这样就可以废了老赵的那个,呵呵

我也比较看好这个,适合c#/java程序员,可以在不深入学习javascript下不至于犯很多javascript的错误
fwee
2012-10-04 19:39:02 +08:00
这个比coffee更容易普及,因为学习成本低,容易debug.语法和js很接近。
kenshin
2012-10-04 21:00:18 +08:00
@haxe
我觉得拿TS(TypeScript)与CS(CoffeeScript)比较并不恰当,原因:
- TS显然是为Win 8 App服务;CS是为了简化JS而出生。
- TS正如M$所说,它是JS的超集;CS本质上还是JS。
- TS貌似也是生成JS(在外面,无法编译),但看其官网似乎是这样的,那就与CS一样……
- 有M$及VS的支持
kenshin
2012-10-04 21:11:00 +08:00
@haxe
晕,手机打字,无意中点击“添加回复”了→_→
接着说……
- 有M$和VS的支持在IDE上肯定完胜CS十条街……
- CS的纠错也没那么难,它算逐行对应。
- CS的语法(准确叫语法糖衣)与Python/Ruby很接近,所以相对不是那么难懂 :)
- CS借助node可以写后台,这点很爽,像用Ruby一样 :)

暂时就想到这么多, 我不是这方面的内行,说的不对,请指正 :D
haxe
2012-10-04 21:14:45 +08:00
@kenshin
TS不只是为Win8 App服务。任何可以运行JS的地方都可以运行TS。虽然现在只有在VS下面才能拥有代码提示,重构等功能,但这并不意味着只有微软的编辑器才能提供TS语言的支持,其他社区只要愿意都是可以提供TS语言支持的。微软作为老东家,先行提供了一个比较好的开发环境。
虽然同样是生成JS,但代码TS生成的JS代码跟CS生成的比起来可读性高很多。
fwee
2012-10-04 21:46:14 +08:00
@kenshin 干,点回复点成感谢了。。。
至少对我这种非js程序员来说,个人认为不会花这么大时间去学coffee,但是ts学习成本就很低了,而且可以很容易的避免一些js的软肋:用静态类型改善debug。加入class等等。所以个人认为ts很有可能会普及
fwee
2012-10-04 21:47:21 +08:00
当然编译后的js代码和源码也差不多,容易对比
kenshin
2012-10-04 22:13:48 +08:00
@fwee
没事,我也干过,只不过不是你→_→
嗯,TS的确比CS上手快的道理,这也是它能更加流行的原因之一。
我不认为M$只是为了这个原因才弄TS出来,我还是觉得TS的真正用途在Win 8 App。M$的阴谋、阳谋也不是一天两天了……
我也不是JS程序员,看CS大概几个小时基本上就能上手(前提是有编程经验……),同时,与TS理念一样,CS也会避免犯错的。

@haxe
嗯,Win 8 App的观点表述不准确,主要是手机打字实在是不爽……
IDE的支持还要看社区对其的热情度。
可读性由于暂时还未测试,无法评判。
fwee
2012-10-04 22:30:56 +08:00
@kenshin 这个和win8 app有什么关系?开源的你可以用在任何地方。如果你想也可以用coffee开发win8。ide又不是必须的
N8hanE5me
2012-10-04 23:24:06 +08:00
觉得对一个语言的看法还是应该从语言本身出发,而不要因为它是出自某个公司就产生偏见。MS在TS语言工具支持上的确把VS做到最好,并可能希望借此争取到更多VS的用户,但是这个工具并不是必须的。相信大多数JS开发人员早就习惯了用text editor写代码了。

至于说TS是为了Win8做的,个人觉得这个看法比较牵强。到底它会被编译成JS,可以在所有浏览器里运行。只要TS的宗旨不变,那它应该会在很长一段时间里都能在各个平台上运行。
zhouquanbest
2012-10-06 01:44:18 +08:00
微软开发东西有一个原则:
某某很NB 尽然不是我们开发的
Mars
2012-10-06 11:54:58 +08:00
会延伸出类似jQuery的库吗?如果有,会不会叫tQuery?
chaojie
2012-10-06 12:18:54 +08:00
@Mars 本来想说不会的,想想应该还是会。把jQuery封装成tQuery的一个class当不是难事
sharpblade
2012-10-06 15:20:28 +08:00
我觉得是习惯强类型语言的Anders实在很不爽JS的白痴类型系统之后练练手罢了。
还是看好TypeScript,因为不会被绑在微软的产品上,最终生成JS是自由的
vivianalive
2012-10-06 21:02:18 +08:00
@hxgdzyuyi 这句话用来形容Dreamweaver也不错.
bombless
2012-10-07 21:20:57 +08:00
其实我觉得 CoffeeScript 转出来的 js 挺好读的……
haohaolee
2012-11-05 13:56:39 +08:00
今天看了 build 2012 Anders Hejlsberg 关于 Typescript 的演讲,先不论是否会成功会普及,至少很有意义的尝试,有几点感触:
1. static type 对大规模程序有重要的作用,JavaScript 也算是魔幻语言了,小规模折腾折腾没事儿,一旦代码量上去了,维护就成问题了。虽然一种语言编译成另一种语言难免有冗余,但是可维护性好多了
2. CoffeeScript 还有 Dart 神马的都尝试改造 JavaScript 开发体验,说明 JavaScript 确实有很多问题
3. 工具很重要,不管是不是需要 IDE,问题不在于 IDE,在于更好的工具。有了static typing, metadata 以及其它支持,编译器,IDE,调试器,静态分析工具都可以派上用处。演讲中有个例子在几万行代码中判断两个同名属性是否真的是同一属性,用工具立马就看出来了。
4. 类似解释性的脚本语言,包括CSS,JavaScript,HTML,也许源码和最终生成的执行代码分离是个趋势,用可维护的方式coding,然后通过工具链生成产品代码,有很多好处

http://channel9.msdn.com/Events/Build/2012/3-012
haohaolee
2012-11-05 14:00:10 +08:00
@j1anb1n 所以这里倒不是strong type的问题,而是static type的好处。Typescript是JavaScript的超集,其实并不阻止你创造各种 Dark Art

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/49146

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX