如何重构此方法以使其更符合Typescript



我在一个类中有一个方法:

public get selectedExpansion(): number {
let selection = localStorage.getItem(ConsolidateStacks.SELECTION_KEY);
if (selection == null) {
return null;
}
return +selection;
}

有没有一种方法可以简化/重构这个逻辑,使其更像typescript?在这种情况下,我认为这应该意味着不超过1-2行代码。例如,如果在空数字上使用+是有效的,我可以这样做:

return +localStorage.getItem(ConsolidateStacks.SELECTION_KEY);

但在我的测试中,这不起作用,我会出错。

我也想过使用我认为是三元的,但不知怎么的,它将null转换为字符串,比如"null":

return selection ? +selection : null;

注意,我使用的是Typescript 3.5。我相信?.运算符在3.7中,如果有它会很好,但假设对于这个问题,我不能更改Typescript的版本。

这实际上返回number | null

public get selectedExpansion(): number | null {
const selection = localStorage.getItem(ConsolidateStacks.SELECTION_KEY) 
return selection ? parseInt(selection, 10) : null
}

+null返回0,因此不起作用。