我正在努力实现的一个例子:
class Test {
private _folderId: number;
private _pageId: number;
private _folderName: string;
private _pageName: string;
constructor(pageId: string | number, folderId: string | number){
this._folderId = (!isNaN(+folderId)) ? folderId : undefined;
this._pageId = (!isNaN(+pageId)) ? pageId : undefined;
this._folderName = (isNaN(+folderId)) ? folderId : undefined;
this._pageName = (isNaN(+pageId)) ? pageId : undefined;
}
}
不幸的是,这会引发编译器错误:
TS2322:Type 'string | number' is not assignable to type 'number'. Type 'string' is not assignable to type 'number'.
等等(每个变量都有类似的错误)。
有什么办法吗?目前我唯一能做的就是设置页面和文件夹 ID 以键入任何…
原文由 Tomas 发布,翻译遵循 CC BY-SA 4.0 许可协议
Guenter Guckelsberger 的回答下的评论表明您需要使用像
'123'
这样的字符串作为数字。这是一个解决方案: