js和ts
2021-03-11 本文已影响0人
肥羊猪
TypeScript
是 JavaScript 的一个超集,typeScript代码更简洁,更好理解,更易于维护
。一种给 JavaScript 添加特性的语言扩展 es6
类型批注和编译时类型检查
类型推断 类型擦除 接口 枚举 Mixin
泛型编程 名字空间 元组 Await
以下功能是从 ECMA 2015 反向移植而来:
类 模块
lambda 函数的箭头语法
可选参数以及默认参数
TypeScript提供了类、模块和接口,更易于构建组件和维护。
JavaScript 代码可与 TypeScript 一起工作无需任何修改,TypeScript 通过类型注解提供编译时的静态类型检查。
js,ts.png
es6 es5 ts.png
TypeScript 是一种面向对象的编程语言。
面向对象主要有两个概念:对象和类。
对象与类.png
JavaScript 语言具有以下特点:
JavaScript 是一种脚本编写语言,无需编译,只要嵌入 HTML 代码中,就能由浏览器逐行加载解释执行。
JavaScript 是一种基于对象的语言,可以创建对象同时使用现有对象。但是 Javascript 并不支持其它面向对象语言所具有的继承和重载功能。
JavaScript 的语法简单,使用的变量为弱类型。
JavaScript 语言较为安全,仅在浏览器端执行,不会访问本地硬盘数据。
JavaScript 语言具有动态性。JavaScript 是事件驱动的,只根据用户的操作做出相应的反应处理。
JavaScript 只依赖于浏览器,与操作系统的因素无关。因此 JavaScript 是一种跨平台的语言。
JavaScript 兼容性较好,能够与其他技术(如 XML,REST API 等)一起使用。
TypeScript 具有以下特点:
TypeScript 是 Microsoft 推出的开源语言,使用 Apache 授权协议
TypeScript 增加了静态类型、类、模块、接口和类型注解
TypeScript 可用于开发大型的应用
TypeScript 从核心语言方面和类概念的模塑方面对 JavaScript 对象模型进行扩展。
JavaScript 代码可以在无需任何修改的情况下与 TypeScript 一同工作,同时可以使用编译器将 TypeScript 代码转换为 JavaScript。
TypeScript 通过类型注解提供编译时的静态类型检查。
TypeScript 中的数据要求带有明确的类型,JavaScript不要求。
TypeScript 为函数提供了缺省参数值。
TypeScript 引入了 JavaScript 中没有的“类”概念。es6中的class其实是基于原型的
TypeScript 中引入了模块的概念,可以把声明、数据、函数和类封装在模块中。