typescript - “?”有什么用?在变量后使用时在打字稿中
解决方案
你的理解 .?
是正确的。
(使用像x.y
您所说.
的“链接运算符”这样的代码。
随着x?.y
您调用?.
“可选链接运算符”,这意味着如果x
无效,它将保释并且不运行地图 fn)
该错误与可选链接无关。如果你使用正常的链接,你会得到同样的错误。该错误可能instances
实际上不是数组,因此缺少该map
功能。
instances
可能是某种“类似数组的对象”。
(就像一个 Promises 列表。或者一个 NodeList。例如:document.querySelectorAll("a")
返回一个 NodeList ......有点像一个数组,但不完全是,它缺少一个 map 函数。所以如果你想映射,你需要先将它转换为一个数组.
示例:这会引发错误,因为返回对象缺少映射 fn:document.querySelectorAll("a").map(link => link.innerHTML)
这是有效的,因为返回对象有一个映射 fn:
Array.from(document.querySelectorAll("a")).map(link => link.innerHTML)
推荐阅读
- typescript - 如何通过强制转换缩小打字稿类型,错了?
- git - Merge Request 是否仅指两个不同的 repo?
- javascript - 用于自定义选择的 js 在 codepen 和 jsfiddle 中有效,但在浏览器中无效?
- android - 即使我只是在物理设备上编写和运行应用程序,Android Studio CPU 使用率也是 100%
- ubuntu - ubuntu 18.04 LTS,-bash:fork:资源暂时不可用
- java - 嵌套for循环输出不正确
- php - 如果我不使用 https,我更改了 dns 服务器名称,主页被重定向到旧 dns
- asp.net - 无法在下拉列表中添加搜索栏
- php - 带有可变复选框的页面
- reactjs - HTML 的影子元素是什么?