typescript - 打字稿检查字符串是否为空作为布尔值
问题描述
是否有一种“正确”的方法来检查打字稿中的字符串是否为空,并将答案作为布尔值返回?在 JavaScript 中,我通常只使用空字符串为 false 的事实,但 Typescript 不喜欢在类型之间进行转换。Typescript 有很多方法可以使用,但我只是好奇是否有一种“标准”的做事方式。
例如,
const emptyString: string = '';
const nonEmptyString: string = 'something';
function stringIsEmpty(str: string): boolean {
return str; // Type 'string' is not assignable to type 'boolean'.
}
要修复它,我们可以执行以下任何一项(和其他),但在我看来,它们都感觉有点“hacky”:
return !!str;
return Boolean(str);
return str.length > 0;
return /^$/.test(str);
解决方案
您也可以将其转换为布尔值:
return str as unknown as boolean;
推荐阅读
- angular - 如何以角度保存作为字节 [] 提供的文件?
- python - 在烧瓶中打印 python 返回
- selenium-webdriver - (SessionNotCreatedException) 会话未创建:此版本的 ChromeDriver 仅支持 Chrome 版本 83
- python - 无法理解python装饰器功能
- python - 整个函数等待而不是某些进程等待
- c++ - 为什么 `file_pointer{0}` 编译但 `file_pointer(0)` 不编译?
- python - 对字典列表中的每个字典进行排序,分别按其值 - Python
- python - 从提取的 zip 文件中记录 xls 和 xlsx 文件位置
- javascript - 如何检测其他对象的状态
- reactjs - 在 useEffect 中使用 useDispatch 获取数据(代码工作但有错误)