一、JavaScript相关
之前制作网页的时候,初步了解了一下网页三剑客:HTML、CSS、JavaScript。由于个人的原因,没有深入学习。如今开始接触TypeScript,于是就对JavaScript的部分基本知识进行了了解。
JavaScript是一门动态类型,面向对象的解释型语言,被绝大多数的网站所使用,也受到主流浏览器的大力支持( 应该指出的是js的面向对象是基于原型的)。
一个完整的javascript应该包括:
- ECMAScript(即js的语法标准等等)
- 文档对象模型(DOM,描述处理网页内容的方法和接口)
- 浏览器对象模型(BOM,描述与浏览器进行交互的方法和接口)
基本特点:
- 解释性脚本语言(不进行预编译,跟java一样)
- 在html页面上提供交互行为
- 既可以写成单独的js文件,也可以嵌入在html中
- 可跨平台,因为受到了各种浏览器的支持,这使得js可以在各种平台(如windows、linux、mac……)上运行
特性:
- 作为客户端脚本语言,独立运行于用户的浏览器,不需要服务器的支持,减少对服务器的负担。
- 不安全性,显然这个特性和上一个特性相关,既然脚本的运行只依赖于客户端,自然会带来安全问题
- 事件驱动
- 异步
- 动态化,和大部分脚本语言一样,类型与值而不是与变量关联。例如变量x可以为数值,随后又可以被赋值为字符串。
二、TypeScript相关
typescript是微软开发的用于开发大型应用的编程语言,其为javascript的严格超集,并添加了可选的静态类型和基于类的面向对象编程。typescript的诞生是因为在开发大规模javascript应用的过程中遇到javascript语言本身的短板。
typescript基于javascript添加了不少特性:
- 类型批注、编译时类型检查
- 类型推断
- 类型擦除
- 接口
- 枚举
- 混入
- 泛型编程
- 命名空间
- 元组
- Await
- 类(typescript和javascript的一个不同点就是typescript是基于类的面向对象编程)
- 模块
- lambda函数的箭头语法
- 可选参数、默认参数
三、二者的不同点
- typescript完全兼容javascript,它可以编译成javascript
- typescript有编译时类型检查,这为程序的编写带来了极大的方便
- javascript是一门动态语言,而typescript添加了可选的静态类型
- typescript在javascript的基础上增加了不少特性