总结之ts篇

一 、typescript和javascript有什么区别?各自有什么优势

区别

  • TypeScript是静态类型,TS是动态类型
  • 定义变量的时候,TS必须指定数据类型,JS不确定
  • TS是JS的超集,在TS中可以使用原生JS语法

各自优势

1、TS

  • 静态输入:在开发人员编写脚本时检测错误,查找并修复错误
  • 大型的开发项目和更好的协作:当开发大型项目时,会有许多开发人员,此时乱码和错误的机也会增加。类型安全是一种在编码期间检测错误的功能,而不是在编译项目时检测错误。这为开发团队创建了一个更高效的编码和调试过程
  • 更强的生产力:干净的 ECMAScript 6 代码,自动完成和动态输入等因素有助于提高开发人员的工作效率。这些功能也有助于编译器创建优化的代码
    除了静态类型的定义和检查外,TypeScript 还引入了类、接口、模块、装饰器、命名空间等特性(ES6中也实现了部分)
  • TypeScript 是添加了类型系统的 JavaScript,适用于任何规模的项目,增加了代码的可读性和可维护性
  • TypeScript 是一门静态类型、弱类型的语言,它是完全兼容 JavaScript 的,它不会修改 JavaScript 运行时的特性
  • TypeScript 增强了编辑器(IDE)的功能,提供了代码补全、接口提示、跳转到定义、代码重构等能力

2、JS

  • 本地浏览器支持,不需要被编译,可以直接运行,但是TS需要被编译为javascript语言
  • 人气:在社区中很方便地找到大量成熟的开发项目和可用资源
  • 灵活性

二 、在TS 中any、unknown、never、void区别

1、any

any 类型用于描述一个我们根本不知道类型的变量,或者说可以是任意类型的变量,不作任何约束,编译时会跳过对其的类型检查

2、unknown

unknown 表示未知类型,即写代码的时候还不知道具体会是怎样的数据类型,是 typescript 3.0 中引入的新类型, 与 any 类似,所有类型都可以分配给unknown 类型。但与 any 不同的是, unknown 类型的变量不允许被 any 或 unknown 以外的变量赋值,也不允许执行 unknown 类型变量的方法

3、never

never ,永不存在的值的类型,是 typescript 2.0 中引入的新类型,那什么是永不存在的类型,我们知道变量一旦声明,都会默认初始化为 undefined ,也不是永不存在的值,但其实有一些场景,值会永不存在,例如,那些总是会抛出异常或函数中执行无限循环的代码(死循环)的函数返回值类型

4、void

void 某种程度上来说正好与 any 相反,表示无任何类型,没有类型,如果是函数则应没有返回值或者返回 undefined

三 、在TS 中type 和 interface区别

  • type 是 类型别名,给一些类型的组合起别名,这样能够更方便地在各个地方使用。
  • interface 是 接口。有点像 type,可以用来代表一种类型组合,但它范围更小一些,只能描述对象结构。
  • 写法有一点区别,type 后面需要用 = ,interface 后面不需要 = ,直接就带上 {
  • 多次声明的同名 interface 会进行声明合并,type 则不允许多次声明。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值