Javascript Build:x27类型的参数;字符串| 1';不可分配给类型为';字符串';

Javascript Build:x27类型的参数;字符串| 1';不可分配给类型为';字符串';,javascript,typescript,Javascript,Typescript,我有这个类型脚本代码: categoryColumnWide: number = 0; this.categoryColumnWide = parseInt(storage.getItem('categoryColumnWide') || 1); 给我以下错误: 严重性代码说明项目文件行抑制状态 生成错误:“字符串| 1”类型的参数不可分配给 类型为“string”的参数 有人能帮我吗?我刚刚升级到一个新版本的Typescript,这条消息现在出现在多个地方。当我将鼠标悬停在category

我有这个类型脚本代码:

categoryColumnWide: number = 0;

this.categoryColumnWide = parseInt(storage.getItem('categoryColumnWide') || 1);
给我以下错误:

严重性代码说明项目文件行抑制状态 生成错误:“字符串| 1”类型的参数不可分配给 类型为“string”的参数

有人能帮我吗?我刚刚升级到一个新版本的Typescript,这条消息现在出现在多个地方。当我将鼠标悬停在categoryColumnWide上时,它表示这是一个“数字”


仅供参考,据我所知,我使用的是Typescript 2.1,需要字符串参数

您的代码通过
storage.getItem('categoryColumnWide')
(字符串)或
1
(数字)

尝试将
1
作为字符串传递

this.categoryColumnWide = parseInt(storage.getItem('categoryColumnWide') || '1');

parseInt
需要字符串参数

您的代码通过
storage.getItem('categoryColumnWide')
(字符串)或
1
(数字)

尝试将
1
作为字符串传递

this.categoryColumnWide = parseInt(storage.getItem('categoryColumnWide') || '1');

如果
storage.getItem('categoryColumnWide')
返回错误值,则将选择
1
并将其作为参数传递给
parseInt
,因为
parseInt
需要一个
字符串,它表示不能为字符串分配数字!将其更改为
parseInt(storage.getItem(…)| |“1”)
Number((storage.getItem(…)| | 1))
将解决此问题!或者,您可以在开始使用该项之前检查该项是否在存储器中,如:
if(storage.getItem('categoryColumnWide')){storage.setItem('categoryColumnWide','1');}
!或者只是
parseInt(storage.getItem('categoryColumnWide'))| | 1
@AlekseyL。如果
storage.getItem('categoryColumnWide')
返回
“0”
?如果
storage.getItem('categoryColumnWide')
返回错误值,则
1
将被选择并作为参数传递给
parseInt
,因为
parseInt
需要
字符串,它说你不能给一个字符串分配一个数字!将其更改为
parseInt(storage.getItem(…)| |“1”)
Number((storage.getItem(…)| | 1))
将解决此问题!或者,您可以在开始使用该项之前检查该项是否在存储器中,如:
if(storage.getItem('categoryColumnWide')){storage.setItem('categoryColumnWide','1');}
!或者只是
parseInt(storage.getItem('categoryColumnWide'))| | 1
@AlekseyL。如果
storage.getItem('categoryColumnWide')
返回
“0”
,该怎么办?