关于TS和JS的区别

JavaScript019

关于TS和JS的区别,第1张

TS是JS的一个超集,TS包含了JS的库和函数,TS上可以写任何的JS,调用任何的JS库。ts需要静态编译,它提供了强类型与更多面向对象的内容。

1、TypeScript 引入了 JavaScript 中没有的“类”概念

2、TypeScript 中引入了模块的概念,可以把声明、数据、函数和类封装在模块中。

3、js没有重载概念,ts有可以重载

4、ts对比js基础类型上,增加了 void/never/any/元组/枚举/以及一些高级类型

三者共同部分是 Script. 所以,它们的关系就是它们都是脚本。

es是一种规定,e的意思是ECMA,相当于中华人民共和国;s的意思是Script,相当于国家语言文字工作委员会。国家有关部门规范国家的语言,计算机也有类似的组织规范计算机语言。

js是一门语言,就好比人类语言有英语、俄语、日语,同意计算机也分为Java、PHP、Python,所以假定js就是你所熟悉的中文。

ts是一种方言,中文方言有很多,比如上海话。js的方言也不少,比如CoffeeScript。你跑到深圳说上海话,大部分人是听不懂的,所以需要翻译成普通话。同样的,ts也需要转化为js才能让低版本浏览器识别。

相关语言

脚本语言是比较多的,一般的脚本语言的执行只同具体的解释执行器有关,所以只要系统上有相应语言的解释程序就可以做到跨平台。

较为热门的脚本语言有Lua、JavaScript等,功能都比较强大,但也有明显的缺点,例如Lua实现面向对象比较麻烦, 而JavaScript和C++相互调用非常困难。

ts需要静态编译,它提供了强类型与更多面向对象的内容。

ts最终仍要编译为弱类型的js文件,基于对象的原生的js,再运行。故ts相较java/C#这样天生面向对象语言是有区别和局限的

ts是由微软牵头主导的,主要来自C#

TypeScript是一个应用程序级的JavaScript开发语言。(这也表示TypeScript比较牛逼,可以开发大型应用,或者说更适合开发大型应用)

TypeScript是JavaScript的超集,可以编译成纯JavaScript。这个和我们CSS离的Less或者Sass是很像的,

我们用更好的代码编写方式来进行编写,最后还是友好生成原生的JavaScript语言。

TypeScript跨浏览器、跨操作系统、跨主机、且开源。由于最后他编译成了JavaScript所以只要能运行JS的地方,都可以运行我们写的程序,设置在node.js里。

TypeScript始于JavaScript,终于JavaScript。遵循JavaScript的语法和语义

TypeScript可以重用JavaScript代码,调用流行的JavaScript库。

TypeScript提供了类、模块和接口,更易于构建组件和维护。