什么是 typescript

从名字来看,和 javascript十分相似,不同在 script上,那么也就说明 【类型】是其最核心的特性

那么既然存在 js,为什么要新增一个 ts ? 他的存在有什么意义呢

来看看js的特点

  • 没有类型约束,一个变量初始化可能是字符串,过一会可能被赋值成数字
  • 基于原型的面向对象编程,因此原型上的属性和方法可以在运行时被修改
  • 函数可以被赋值给变量,也可以返回
  • 动态类型语言

那么ts有什么特点呢?

  • ts是静态类型的语言(编译时进行错误检查,js是动态,运行时才会检查)
  • ts是弱类型(不允许隐式类型转换)

    1. // js
    2. console.log(1 + '1') // 11
    3. // ts
    4. console.log(1 + '1') // typeError
  • ts是js的超集(这意味着在ts中可以使用js的一切特性)

  • 适用于任何规模(适用于大型项目,相对来说小型项目会需要写更多额外的代码)

总结

关于 ts 的总结如下:

  • ts是添加了类型的js
  • ts是一门静态的,弱类型语言
  • ts完全兼容js,并不会修改js运行时候的特性
  • ts可以编译成js,并运行在任何可以运行js的环境中
  • ts可以和js在项目中共存
  • ts增强了IDE的功能,提供了代码补全,接口提示,等能力