对比Javascript和TypeScript

JavaScript

特点:

1. JavaScript是解释性脚本语言,不需要编译,可以直接在浏览器中解释执行

2. 是基于对象的语言,可以创建对象并使用现有对象

3. 是弱类型、动态语言,基于对象和事件驱动

4. 较安全,跨平台,仅在浏览器端执行,不会访问本地硬盘数据

优点:

1. 发展较早,使用人数多

2. 无需编译,可以直接执行

3. 没有类的概念,开发更为灵活


TypeScript

ts是面向对象的编程语言,是JavaScript的超集,包含JavaScript所有元素,可以载入Js运行,扩展了Js的语法。TypeScript支持on-the-fly编译,即写一句ts就立即得到对应的js,不需要完整的语句写完,就可以根据上下文推导生成对应的、不完整的js代码。编译的目标代码是Es6,若有es6新特性问题时会向下兼容es5,但对于各个浏览器自行对js做的扩充,ts不保证予以支持。

特点:

1. 属于开源语言,使用Apache授权协议

2. 增加了静态类型、类、模块、接口和类型注解

3. 所有的ts声明(*.d.ts)都不会声称对应的js,因为js对象模型中的声明是可选的。

优点:

1.静态输入,可以在开发时就发现错误,使得提高代码质量

2. 大型项目开发、多人开发时,更为安全、容易、更好协作,降低乱码和错误的机会

3. 代码编译器创建优化的JavaScript,在解释执行时,鉴于浏览器的运行原理,可以减少无类型变量解释时间

4. 函数缺省参数值:可选(xxx?: yyy)和默认参数(没有参数传入是,使用默认值xxx = yyy)


JavaScript和TypeScript的主要差异

1. JavaScript可以与TypeScript共同使用,TypeScript可以使用编译器转换成JavaScript

2. TypeScript在扩展了JavaScript的类概念及核心语言方面,如TypeScript可以使用类型和接口等概念既描述正在使用的数据,又能快速检测错误

3. TypeScript通过类型注解提供编译时的静态类型检查

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

5. TypeScript需要被编译成JavaScript,才能在浏览器执行

6. TypeScript编译时支持有限的函数重载(overload),js不支持重载

ps:求监督,求审查~~


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值