TypeScript 常见问题

发布于 2024-09-13 12:09:01 字数 3885 浏览 17 评论 0

ts 报错:应有 1 个参数,但获得 0 个

解决:在原函数定义默认值 function (params:any={})

(parameter) userInfo: unknown 类型 unknown 的参数不能赋给类型 {} | undefined 的参数。不能将类型 unknown 分配给类型 {}

解决:?

(parameter) data: unknown

对象的类型为 unknown 解决: data: any

原因: 将 value 变量类型设置为 unknown 后,这些操作都不再被认为是类型正确的。通过改变 any 类型到 unknown 类型,我们的默认设置从允许一切翻转式的改变成了几乎什么都不允许。

这是 unknown 类型的主要价值主张:TypeScript 不允许我们对类型为 unknown 的值执行任意操作。相反,我们必须首先执行某种类型检查以缩小我们正在使用的值的类型范围。 企业微信截图_16154514366978.png

https://blog.csdn.net/weixin_33716557/article/details/93177689

类型 never[] 的参数不能赋给类型 never 的参数

解决: ???

类型 never 上不存在属性 size

解决: ['size']

类型 any 的参数不能赋给类型 never 的参数 / 类型 unknown 的参数不能赋给类型 never 的参数

解决

enter image description here

window 不存在

enter image description here https://ts.xcatliu.com/basics/type-assertion.html

tsconfig.json 报错:在配置文件 d:/Project/wechart/tsconfig.json 中找不到任何输入。指定的 "include" 路径为 ["node_modules/gridjs"] ,"exclude" 路径为 ["node_modules"] 。

原因是:缺少 index.ts 的 ts 入口文件

enum 属性 是 只读,不可改写

enum Color {Red = 1, Green, Blue};
Color.Red=2;
console.log(Color.Red);
编译错误:
script.ts(2,7): error TS2540: Cannot assign to 'Red' because it is a read-only property.

enum 赋值 给 其它 变量

默认情况下,从 0 开始为元素编号。 你也可以手动的指定成员的数值。 例如,我们将上面的例子改成从 1 开始编号,后面默认追加 1。而 let c: Color = Color.Red; 赋值的是序号。

序号重排:(有顺序)

enum Color {Red = 1, Green, Blue};
let c: Color = Color.Red;
console.log(c);
标准输出:
1
enum Color {Red = 1, Green = 2, Blue};
let c: Color = Color.Blue;
console.log(c);
标准输出:
3

所有序号重排:

enum Color {Red = 1, Green = 2, Blue = 4};
let c: Color = Color.Blue;
console.log(c);
标准输出:
4

Cannot find module '../../package.json'. Consider using '--resolveJsonModule' to import module with '.json' extensionts(2732)

STEP 1:

{
  "compilerOptions": {
    "resolveJsonModule": true, 
  }
}

STEP 2:restart vscode https://github.com/microsoft/TypeScript/issues/25400

将 key/val 对添加到对象时,类型 String 不能用作索引类型

String 重写为 string 。前者是对象,后者是原语。您希望使用原语 string 作为键,而不是键的对象。

https://cloud.tencent.com/developer/ask/sof/1142538

TypeScript 解决无法重新声明块范围变量 XXX 问题

我们只需要在文件的尾部加上export {};

img

就是这个样子,这样 TS 就会认为这些文件都是独立的模块了

https://cloud.tencent.com/developer/article/2041897

类型 any 的参数不能赋给类型 never 的参数。

场景:使用 push 的时候报错

解决方法: const menus = reactive([] as any[]); ​ 或根据实际来断言 const menus = reactive([] as object[]); ​推荐使用 const commodity = reactive<object[]>([]);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

熊抱啵儿

暂无简介

0 文章
0 评论
22 人气
更多

推荐作者

月光色

文章 0 评论 0

咆哮

文章 0 评论 0

痞味浪人

文章 0 评论 0

宁涵

文章 0 评论 0

军弟

文章 0 评论 0

临走之时

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文