【TypeScript】学习笔记(一)TypeSript VS JavaScript
👉关于它们
JavaSript
- JavaScript 是具有函数优先的、轻量级的、解释型(即时编译型)的一种编程语言
- JavaScript 基于原型编程,是多范式的动态脚本语言,支持面向对象、命令式和声明式(如函数编程)风格。并且它遵循ECMAScript标准
- ECMAScript:描述了JavaScript语言的语法和基本对象
- 文档对象模型(DOM):描述处理网页内容的方法和接口
- 浏览器对象模型(BOM):描述与浏览器进行交互的方法和接口
- javaScript 特点
- JavaScript 是一种脚本编写语言,无需编译,只要嵌入 HTML 代码中,就能由浏览器逐行加载解释执行
- JavaScript 是一种基于对象的语言,可以创建对象同时使用现有对象。但是 Javascript 并不支持其它面向对象语言所具有的继承和重载功能
- JavaScript 的语法简单,使用的变量为弱类型
- JavaScript 语言较为安全,仅在浏览器端执行,不会访问本地硬盘数据
- JavaScript 语言具有动态性。JavaScript 是事件驱动的,只根据用户的操作做出相应的反应处理
- JavaScript 只依赖于浏览器,与操作系统的因素无关。因此 JavaScript 是一种跨平台的语言
- JavaScript 兼容性较好,能够与其他技术(如 XML,REST API 等)一起使用
TypeScript
- TypeScript 是 Microsoft 开发和维护的一种开源的面向对象的编程语言,通过在JavaScript的基础上添加静态类型定义构建而成。它是 JavaScript 的超集,可以被编译成 Javascript;它包含了 JavaScript 的所有元素,并扩展了 JavaScript 的语法;它还可以载入 JavaScript 代码运行(用 Javascript 编写的合法代码,在Typescript 中依然有效)。
- 语法上,TypeScript 很类似于 JScript .NET,另外一个添加了对静态类型,经典的面向对象语言特性如类,继承,接口、枚举、泛型和命名空间等的支持的 Microsoft 对 ECMAScript 语言标准的实现
👉两者区别
JavaScript
- 动态类型,运行时明确变量的类型,变量的类型由变量的值决定,并跟随值的改变而改变
- 直接运行在浏览器和node.js环境中
- 弱类型,数据类型可以被忽略的语言。一个变量可以赋不同数据类型的值
TypeScript
- 静态类型,声明时确定类型,之后不允许修改
- 编译运行,始终先编译成JavaScript再运行
- 强类型,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了
👉TypeScript的优点
- 开源,跨平台。它本身不需要考虑运行环境的问题,所有支持JavaScript的地方都可以使用typescript
- 引入静态类型声明,减少不必要的类型判断和文档注释
- 及早发现错误,静态类型检查或编译时发现问题,不用等到运行
- 类、接口的使用更易于构建和维护组件
- 编辑器内智能提示,对于一些用ts开发或者有types.d.ts类型包的第三方库有良好代码提示
- 重构更方便可靠, 强大的接口类型可以充当使用文档
评论