当前位置:IT橙子的前端技术博客 > 前端笔记 > 正文

前端面试—谈谈你对TypeScript的理解

时间:2023-08-17 来源:未知 分类:前端笔记 阅读:

1、简述 TypeScript 与 JavaScript 之间的关系

答案:

  • TypeScript是由Microsoft开发的面向对象语言,TypeScript是 JavaScript 的超集,包含了 JavaScript 的所有元素,在TypeScript中可以运行JavaScript代码。
  • TypeScript可以运行JavaScript所有代码和编码方式
  • 使用TypeScript中一些新的概念,可使JavaScript开发变得容易和快捷
  • TypeScript 加入一些新的概念(类) 使javascript实现一些复杂功能变得容易
  • javascript 可以直接同Typescript一起运行,编译器会将Typescript代码转换为javascript
  • Typescript中有静态类型,javascrip则没有
  • TypeScript中每一个数据必须规定其数据类型,JavaScript不要求
  • TypeScript为函数提供了缺省参数值。
  • TypeScript中有模块的概念,可以封装数据、类、函数、声明等信息在模块里面

2、请谈谈你所认为的 TypeScript 优缺点

优点:

  1. JS 有的基础类型,它都有;JS 没有的基础类型,他也有。
  2. TS 增加了元组(元素类型不相同的数组)、枚举(JS数据类型的补充)、Any(可为任意类型,与 Object 有一定区别)、Void(没有任何类型,通常在函数没有返回值时用)、Never(不存在的值的类型),这让我们对数据的处理变的更方便
  3. 增强代码的可读性。类型定义,要求开发人员必须定义属性(变量)的类型,使得属性(变量)的使用更规范,数据交互更安全
  4. 增强代码的可维护性。它的类型在编译时即可发现大部分的错误,可在运行代码之前就找到错误并提供修复,改善开发体验
  5. 高生产力。方便多人开发,可以使他人快速了解变量的类型,加速接管代码,减少维护成本(与第3点类似)
  6. 包容性。js文件可以直接改成 ts 文件,不定义类型可自动推论类型(类型推断),为需要高安全保障的添加类型注释即可; 可以定义几乎一切类型; ts 编译报错时也可以生成 js 文件; 兼容第三方库,即使不是用 ts 编写的
  7. 高覆盖性。任何浏览器,任何操作系统,任何可以运行 JavaScript 的地方
  8. 高支持性。大多数的第三方库都可提供给 ts 的类型定义文件,完全支持 es6 规范
  9. 逐步迁移性。使用 TypeScript 并不是一个二元选择,您可以首先使用 JSDoc 来注释现有的 JavaScript,然后只让 TypeScript 检查一小部分文件,从而让您的代码可以在后续迭代中逐渐完成迁移。
  10. 开源。完全开源
  11. 有活跃的社区。
  12. 在编译器中快速切换。TypeScript 中对编辑器集成处理,可在不同的编辑器中获得一致的使用体验。允许在不同编辑器之间快速切换,例如 Visual Studio, Visual Studio Code, Nova, Atom, Sublime Text, Emacs, Vim, WebStorm and Eclipse 等

缺点:

  1. 短期内增加开发成本,但是增加类型注释可减少维护成本

  2. ts 集成到构建流程需要一定的工作量

  3. 暂时和某些库结合时不是很完美

  4.  
-------------------------------------------正文完~-------------------------------------------

关于橙子

    橙子,一个奋斗在前端路上的女程序员~~

    橙子,热爱前端,关注前端,4年的前端工作经验,熟练掌握前端各项技能,熟练多种前端框架,希望遇到志同道合的前端朋友们,一起学习交流,共同进步!

学习交流

  • 微信公众号:IT橙子6 微信扫一扫添加关注 获取更多前端学习资料!
  • QQ交流群:592969963 IT橙子前端技术交流群

相关推荐