我在一个类中有一个方法:
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,因此不起作用。