为什么typescript成为了一名前端开发工程师必备技能?

109 阅读2分钟

第一点:提高代码健壮性,规避大量低级错误,避免时间浪费,省时

动态类型语言的特性

  • 源码中不保留类型信息,一个变量可以随便赋值,写代码灵活,同时隐藏着类型不匹配的隐患。例如:string做乘除
  • 适合简单项目场景,针对于大型工程项目,无法保障项目的可维护性和健壮性
  • 类型一系列的报错只有运行时才会被发现,例如:“null is not an object”、“undefined is not a function”

动态.png

静态类型语言的特性

  • 源码中保留类型信息,声明变量要定义类型
  • 适合大型项目
  • 类型检查在运行前的编译期做

静态.png

回想大学期间,当时之所以走前端这条路的原因就是 JavaScript相比java来说,无需定义变量类型,开发起来比较灵活简单。

分析了动态类型和静态类型的区别,我们可以得出一个结论:大型项目注定会用静态类型语言typescript进行开发


接下来,我们梳理下JavaScript内置类型, 1:undefined 2:null 3:string 4:number 5:boolean 6:Object 7:BigInt 8:symbol

  • 不同的类型变量占据的内存大小不同。boolean:4字节 number:8字节
  • 不同类型变量可做的操作不同:number可以做加减乘除,boolean就不可以(boolean做加减乘除虽然可以进行隐式转换,true转换成1,false转换成0,但是不建议拿boolean进行加减乘除运算);

在实际开发中,随着工程的复杂和时间的推移,很难去判断一个变量的或者工具函数支持的参数类型,就极有可能导致我们拿着string类型去执行一些Object的方法,以及拿着boolean、undefined去进行加减乘除,这些统统称为类型不安全

JavaScript是动态类型语言, 那么什么是类型安全? 类型安全:保障某种类型只做该类型允许的操作。

第二点:良好代码提示,不用反复文件跳转或者翻文档,省心

如果你用Vue3+typescript进行开发,需要vscode安装插件Volar,禁用Vue2的Vetur注意Vscode要升级到最新,否则无法在Vue3的script中或者模板里触发TS校验提示