• TS简介

    1.TS是js的超集(以js为基础构建的语言,对js进行扩展,在js的基础上增加许多功能)
    2.基于ES6语法
    3.提供类型系统(最主要的功能是:在js引入类型的概念(动态语言变成静态语言)
    ts扩展了js并添加了类型,可以在支持js的平台中执行
    不能被js解析器直接执行,需要转换编译成js文件才可以

    • TS出现原因

    1.解决js的缺点,js是弱类型语言,在代码没有执行之前类型是不确定的,没有类型的概念。
    好处是:灵活;
    坏处:在项目变大之后会增加程序员负担,因为在使用某一个属性变量的时候没法确定它的类型是什么。
    变量加减法容易出错

    • TS作用

    1.提供超集编译期类型检查
    2.增强了编辑器和IDE的功能:在代码类型赋值错误/调用了一个不存在的属性、变量的时候,能够进行提示,而不是把错误放到编译运行的时候让浏览器来告诉我们错了

    • 优点

    1.增加了代码的可读性、可维护性(∵TS主要增加的类型系统,实际上就是最好的文档,只需要看类型的定义就能知道如何去调用它)
    2.在编译阶段就可以发现大部分错误,可以减少很多BUG
    3.是js的超集:借助于js开源社区的力量

    • 缺点

    1.需要了解新知识点:接口、泛型、枚举
    2.开发成本
    3.第三方库不支持

    • TS增加了什么?

    1.类型(js中的类型只是对值而言,而ts是针对变量,还增加了新的类型)
    2.完全支持js,ES6
    3.添加ES不具备的新特性(抽象类、接口、工具……)
    4.丰富的配置选项(严格/松散:如果需要兼容老版本的IE,那就可以编译成es3版本,不需要兼容老版本,也可以编译成es版本)
    5.强大的开发工具,帮助编译器识别类型,提示错误

    • TypeScript开发环境搭建

    ts解析器需要node.js
    image.png