TS是真正的JS。
为啥这么说呢?JavaScript这个名字和Java没半点关系,Java里的接口、继承、强类型,它都没有。
而TS是JS的超集,正是补全了上面那些缺失的部分,强调的是TypeScript
有了强类型,就有了更好的IDE支持,包括语法提示和编译时错误信息。有了接口和继承,代码就更易读易维护。这些都是大型复杂前端工程急需的特性。
- 语言层面:JavaScript和TypeScript都是ECMAScript(ECMA-262)的具体实现。
- 执行环境层面:浏览器引擎和Node.js都能够直接运行JavaScript,但无法直接运行TypeScript。
- 时序层面:TypeScript被真正执行前,会通过编译转换生成JavaScript,之后才能被解释执行。
- 厂商层面:JavaScript由Netscape率先推出,现在主要由各大浏览器厂商实现。而TypeScript is a trademark of Microsoft Corporation,目前由微软进行设计和维护。
TypeScript是ECMAScript 2015的语法超集,是JavaScript的语法糖。JavaScript程序可以直接移植到TypeScript,TypeScript需要编译(语法转换)生成JavaScript才能被浏览器执行。一图胜千言: