在下面的代码中使用as或 有什么区别<>?
选项 A - 使用 'as' 作为返回值
convertResultToParams(columnView:IColumnViewResult):IColumnViewParams {
const params = {};
Object.keys(this.getDefaultParams())
.map(key => params[key] = columnView[key]);
return params as IColumnViewParams;
}
Run Code Online (Sandbox Code Playgroud)
选项 B - 使用“括号”作为返回值
convertResultToParams(columnView:IColumnViewResult):IColumnViewParams {
const params = {};
Object.keys(this.getDefaultParams())
.map(key => params[key] = columnView[key]);
return <IColumnViewParams>params;
}
Run Code Online (Sandbox Code Playgroud)
为什么我不能在变量声明中声明类型?
Tit*_*mir 10
您的接口可能具有必需的成员,因此初始化为{}无效。{}如果您当时正在初始化它,您可以转换为接口类型,并将很快添加字段。
const params = {} as IColumnViewParams
Run Code Online (Sandbox Code Playgroud)
最初 Typescript 用于<>强制转换,但是随着 jsx 支持的添加,这成为一个问题,因此as添加了强制转换操作符。铸造没有区别,只是您可以使用它们的上下文。as可以在任何地方使用,<>不能在tsx中使用
| 归档时间: |
|
| 查看次数: |
1852 次 |
| 最近记录: |