javascript - 如果流类型检查中存在另一个值,则假设值存在
问题描述
我试图弄清楚这是否可以通过流量来实现。
我有一个返回这样的对象的函数
{
isChannel: boolean,
channelName?: string,
streamName?: string,
}
如果isChannel === true
,我知道channelName
会存在。
在我们的代码库的很多地方,我们都有这样的东西
const { channelName, streamName, isChannel } = parseUri(uri);
const name = isChannel ? channelName.slice(1) : streamName;
这slice(1)
是因为channelName
包括一个领先的@
. 我知道有办法解决这个问题,但由于这是所有现有代码,我宁愿不必全部更改。
反正有流类型这么说吗?如果isChannel
是真的,channelName
就会存在,如果isChannel
是false
,那么它可能存在。
if isChannel === true
then channelName: string
else channelName?: string
解决方案
推荐阅读
- sockets - linux服务器连接超时问题
- r - 选择数据集的列而不使用列的编号而是列的名称
- excel - Power Query 中的重叠时间序列数据
- oracle - 如果页面项具有特定值,则 Oracle 顶点重定向页面
- javascript - 如何使用本地表列和外键表中存在的列创建 sequelize 复合约束
- text - 谷歌云语音转文本支持任何浏览器?这适用于 Safari 吗?
- git - 如何避免过时的个人分支被推送并合并到主分支
- javascript - 如何使用 JS/D3 将列值用于 SVG 颜色?
- xsd - Biztalk Debatch 平面文件,带有标题、2 个重复记录和带有标签标识符的尾部
- typescript - 如何将 Shoelace 组件库添加到现有的 Stencil.js 项目