首页 > 解决方案 > 打字稿检查字符串是否为空作为布尔值

问题描述

是否有一种“正确”的方法来检查打字稿中的字符串是否为空,并将答案作为布尔值返回?在 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);

标签: typescriptcastingtype-conversionconventions

解决方案


您也可以将其转换为布尔值:

return str as unknown as boolean;

推荐阅读