首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >类型记录防止简单的长度检查作为条件隐藏有用的方法和属性

问类型记录防止简单的长度检查作为条件隐藏有用的方法和属性
EN

Stack Overflow用户
提问于 2021-11-23 15:33:52
回答 1查看 75关注 0票数 0

这是一个以discord.js为例的打字试题,不需要了解库的帮助。

我正在从普通的js中转换我的应用程序,当我调用一个方法时,它会给我一个带有键和值的映射类型。既然我使用的是类型记录,而且库有类型定义,那么我就不能再检查响应的大小了。

代码语言:javascript
复制
const attachments = interaction.options.getMessage('message', true).attachments;

因此,以前我只需调用size属性,但现在我仅限于以下类型:

附件: Collection = APIAttachment[]

仅仅使用作为关键字来选择一个条件词,这样我就有更多的属性可玩了,这是不是很糟糕呢?我如何获得附件的大小或安全地解析为一种类型?他们只有迭代器。

我理解打字稿的好处,并避免任何烦人的解决方案。我正在努力学习如何更好地使用打字本,并希望使用库提供给我的类型。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-23 19:02:29

我会推荐这个简单的修复方法

你可以这样做:

如果您希望附件是一个集合

代码语言:javascript
复制
import { Collection } from "discord.js"
    
if(attachments instanceof Collection){
    // Do this
}

或者如果您希望附件是一个数组

代码语言:javascript
复制
import { Collection } from "discord.js"

if(!(attachments instanceof Collection)){
    // Do that
}

然后TypeScript将自动检测到attachments是一个数组或集合。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70083612

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档