如何更改默认构造函数?

时间:2019-08-27 14:17:28

标签: reactjs typescript servicestack

ServiceStack根据我的后端api类生成打字稿代码。 这些打字稿类具有默认的构造函数,如下所示。

export class ExamleClass
{
public constructor(init?:Partial<ExamleClass>) { (<any>Object).assign(this, init); }
}

由于<any>Object出现很多警告,提示信息“在进行类型断言时,优先选择'as any'而不是'”。该如何解决?

2 个答案:

答案 0 :(得分:0)

在示例代码中,您无需执行任何强制转换,Object只是一个类,您调用的函数是静态的。

但是,如果您真的想使用(Object as any)进行强制转换,则因为使用<>可能会导致JSX文件(反应文件)发生冲突。

答案 1 :(得分:0)

<type>是用于投射对象的有效TypeScript语法,默认情况下,TypeScript项目需要使用Object.assign,因为as any不可用。

如果升级到最新版本的ServiceStack,它现在使用public constructor(init?:Partial<ExamleClass>) { (Object as any).assign(this, init); } 语法来强制转换其TypeScript Add Reference功能:

my_list = soup.find_all("tr") #it's not a good idea to use a word like 'list' as a variable name...
for item in my_list:
   if len(item.attrs)>0: 
       print(item['bgcolor'])