typeScript使用小技巧

文章讨论了当VSCode内置的TypeScript版本与Node.js中的不一致时可能出现的兼容性问题。同时,解释了TypeScript中interface和type的区别,interface适合定义对象类型和函数类型,支持继承,而type能定义更多种类型,包括基本类型和联合类型。在Vue3+TS项目中遇到模块导入报错,可以通过Volar插件和创建env.d.ts文件来解决。另外,解决因TypeScript版本导致的语法错误可能需要调整Node.js的版本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 1当vscode 内置的typescript 和node下面的不一致的时候

 如果两个版本不一样会出现不兼容的情况

2在TypeScript中,interface和type可以用来定义类型。它们的主要区别在于:

  1. interface只能声明对象类型,而type可以声明任何类型,包括基本类型、联合类型、元组类型等。
  2. interface支持扩展,通过“extends”关键字可以继承其他接口。而type不支持继承。
  3. interface可以定义函数类型,而type不能。
  4. 在类型检查时,interface在遇到错误时会提示出错位置在哪,而type给出的错误信息可能没有interface那么明确。

总的来说,如果需要定义一个对象类型,并且需要继承其他接口或者定义函数类型,那么就使用interface;如果需要定义其它类型,或者需要进行联合类型等操作,那么就使用type。

3 就是typeScript中 !的用法  跟 ?号的用法类似但是!用于判断null 和undefined

4vue3+ts报错:找不到模块“@/views/home/index.vue”或其相应的类型声明。

解决办法利用 TypeScript Vue Plugin (Volar)

 新建env.d.ts 

// declare module "@/views/home.vue" {
//   import type { DefineComponent } from "vue";
//   const component: DefineComponent<{}, {}, any>;
//   export default component;
// }

5typescript 因为版本报错  for (let i = startIndex ?? 0; i < array.length; i++{SyntaxError:Unexpected token '?'

解决办法就是切换node.js 的版本库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值