前言:

最近用 typeScript ,也就是大家常说的 【 TS 】写点东西,但是老是提醒这个未定义,那个可能为空,主要是 tsconfig.json 中的严格模式我没关,所以今天总结一下,严格模式中【TS】中遇到 对象可能为“未定义” 的具体场景,以及共有几种解决方法!

1、Vue3 结合 TS 获取 HTMLElement 时报“未定义”

我们看下面代码,因为我是想使用  ref 的这种方式获取 DOM 节点,进而去使用 DOM 方法(虽然不推荐在Vue/React 直接操作DOM,偶尔用一下还是没关系的),然后就会警告。

 简单粗暴的处理就是在后面加一个【 ! 】感叹号,告诉 TS 引擎此元素存在,有点类似于 as xxx 的意思!

2、使用声明的可选属性时,报“未定义”

使用 TS 我们经常会声明一些泛型,但是泛型里的属性并不是所有属性都必须要有,这个时候用到这个泛型可选属性的时候就会警告,可以通过以下两种方法解决:

  1. 使用可选链操作符 ?. 的方式,已经确定当前值有可能为空的情况下使用

    2.使用 as 类型 进行类型断言, 确定当前属性一点会有值时,也可以使用这种方式 

3、API 赋值,不能将类型" XXXX | undefined "分配给类型{ xxxx }

如果我们这么写:list.value = res!.data;

我们会发现还是会报错,主要是 res.data 整体可能都为 undefined,所以我们还可以用 感叹号 来解决

要写下面这样写 感叹号 就可以了


以上所述皆为实战中的总结,如果不足请路过的大佬多多补充~~~

TS 对象可能为“未定义”,不能将类型“ XXXX | undefined “分配给类型{ xxxx }相关推荐

  1. (OS X) OpenCV架构x86_64的未定义符号:错误(OpenCV Undefined symbols for architecture x86_64: error)...

    原地址: http://www.it1352.com/474798.html 错误提示如下: Undefined symbols for architecture x86_64:"cv::_ ...

  2. 检测未定义的对象属性

    检查JavaScript中的对象属性是否未定义的最佳方法是什么? #1楼 我没有看到(希望我没有错过它)有人在属性之前检查对象. 因此,这是最短和最有效的(尽管不一定最清晰): if (obj &am ...

  3. vue中渲染对象中属性时显示未定义_揭开 vue 背后的秘密(1)

    ​昨天写了关于 react 如何j将 jsx 渲染到界面,今天朋友让我来谈谈 vue,个人对于 vue 研究还是最近的事.说到 angular.react 和 vue 这三个前端主流框架,最先先接触的 ...

  4. execjs执行js出现window对象未定义时的解决_10个常见的JS语言错误总汇

    1. Uncaught TypeError: Cannot Read Property 这是 JavaScript 开发人员最常遇到的错误.当你读取一个属性或调用一个未定义对象的方法时,Chrome ...

  5. vue对象属性为null_vue 解决无法对未定义的值,空值或基元值设置反应属性报错问题...

    Cannot set reactive property on undefined, null, or primitive value: //无法对未定义的值.空值或基元值设置反应属性: 比如我们在写 ...

  6. 论IE8浏览器报错:$未定义及缺少对象问题

    论IE8浏览器报错:"$"未定义及缺少对象问题 最近在写一段代码的时候,忽然感觉自己写的哪儿哪儿都报错,项目里面明明导入了jquery文件,路径也对,该做的准备工作都做好了,IE8 ...

  7. (转)JS之——解决IE6、7、8使用JSON.stringify报JSON未定义错误的问题

    https://blog.csdn.net/l1028386804/article/details/53439755 在通过JavaScript将对象类型的参数通过JSON.stringify转换成字 ...

  8. 什么是未定义的引用/未解决的外部符号错误,如何解决?

    本文翻译自:What is an undefined reference/unresolved external symbol error and how do I fix it? What are ...

  9. 使用proxy来调用未定义的属性方法

    当我们调用一个函数的未定义属性时会报错.那么可以使用一个proxy拦截,并且传入dispatch函数,来使当调用未定义属性时,执行dispatch函数. 原理: 创建一个实例:function cre ...

最新文章

  1. WINCE6.0+S3C2443的启动过程---eboot2
  2. Python对文件的三种打开方式以及with管理上下文
  3. asp.net生命周期
  4. python读写文件的文本模式_Python中文件的读写、写读和追加写读三种模式的特点...
  5. 泛型数组 List c# 1613647847
  6. Python 打开目录与指定文件
  7. 【工具】开发环境之vagrant
  8. python从入门到实践第二版_【Python入门教程】第二季网络爬虫基础
  9. ORA-00904:quot;T1quot;.quot;AREA_IDquot; :标识符无效
  10. 三峡大学 计算机学院 刘洋,三峡大学科技学院2016年预科内升本专业分流结果公示...
  11. 在服务器上搭建ftp站点
  12. 计算机动画电影英语翻译,“动画电影”英语怎么说
  13. 服务器怎么开账号,大芒果服务器怎么创建GM账号?
  14. windows7 快捷方式 图标显示异常的解决
  15. 2019很艰难,2020会更好吗
  16. 三色球问题python_面试题-三色球问题
  17. 文档在线打印,保持样式不变解决方法
  18. 爱测未来安全-浅淡流量劫持及应对措施
  19. 微信小程序收起键盘(微信小程序关闭键盘)
  20. 计算机流体力学软件基础及工程应用,流体力学及其工程应用(英文版·原书第10版)2013年版...

热门文章

  1. 小程序轮播图_厉害!对准不认识的野生菌拍个图,云大学生设计的这个小程序就能自动识别...
  2. 【Windows编程】实时捕捉屏幕
  3. Oracle EBS 模拟登入
  4. Verilog数字系统设计(夏宇闻)—课后思考题记录(上)
  5. 知乎高赞:拼多多和国家电网,选哪个?
  6. NXP S32K146 FLEXI2C底层驱动+IAM-20680(二)
  7. Codeforces Round #791 (Div. 2)(A-D)
  8. 《Editing Text in the wild》学习笔记
  9. 服务器系统 cad,CAD协同设计管理平台教程之服务器安装
  10. 深度学习与自然语言处理实验——中文信息熵的计算