TypeScript和JavaScript的不同

一、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的基础上增加了不少特性

你可能感兴趣的:(TypeScript和JavaScript的不同)