打字稿检查字符串是否为空为布尔值

时间:2018-11-30 21:41:36

标签: typescript casting type-conversion conventions

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

1 个答案:

答案 0 :(得分:0)

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

return str as unknown as boolean;