什么是 typescript
从名字来看,和 javascript十分相似,不同在 script上,那么也就说明 【类型】是其最核心的特性
那么既然存在 js,为什么要新增一个 ts ? 他的存在有什么意义呢
来看看js的特点
- 没有类型约束,一个变量初始化可能是字符串,过一会可能被赋值成数字
- 基于原型的面向对象编程,因此原型上的属性和方法可以在运行时被修改
- 函数可以被赋值给变量,也可以返回
- 动态类型语言
那么ts有什么特点呢?
- ts是静态类型的语言(编译时进行错误检查,js是动态,运行时才会检查)
ts是弱类型(不允许隐式类型转换)
// jsconsole.log(1 + '1') // 11// tsconsole.log(1 + '1') // typeError
ts是js的超集(这意味着在ts中可以使用js的一切特性)
- 适用于任何规模(适用于大型项目,相对来说小型项目会需要写更多额外的代码)
总结
关于 ts 的总结如下:
- ts是添加了类型的js
- ts是一门静态的,弱类型语言
- ts完全兼容js,并不会修改js运行时候的特性
- ts可以编译成js,并运行在任何可以运行js的环境中
- ts可以和js在项目中共存
- ts增强了IDE的功能,提供了代码补全,接口提示,等能力
