typescript - 打字稿:如何强制转换为接口属性?
问题描述
当我收到此错误时如何转换geometryType:
IShape 是类型而不是命名空间
为了
interface IShape {
readonly geometryType: "RECTANGLE" | "SQUARE"
}
let geometryType = "SQUARE" as IShape.geometryType
const geometry: IShape = {
geometryType: geometryType
}
解决方案
添加as const
以确保打字稿值不会改变并且可以推断类型。
interface IShape {
readonly geometryType: "RECTANGLE" | "SQUARE"
}
let geometryType = "SQUARE" as const
const geometry: IShape = {
geometryType: geometryType
}
您可能还想提取几何类型并像这里一样使用它:
type GeometryType = "RECTANGLE" | "SQUARE";
interface IShape {
readonly geometryType: GeometryType;
}
let geometryType: GeometryType = "SQUARE";
const geometry: IShape = {
geometryType: geometryType
}
推荐阅读
- python - 如何沿列轴连接具有不同索引的两个数据框
- php - 如何使用 put.re api 上传视频(使用 CURL)
- google-sheets-formula - 按涉及其他 2 个范围的条件计算范围
- caching - 关于数据库缓存的说明
- android - 我们在哪里可以获得所有可以使用的 fontfamily 列表,而无需在 Flutter 中从外部导入它?
- ffmpeg - Ffmpeg:如何考虑由于旋转而改变的边界框大小
- r - R无法识别格式的日期
- c# - UWP:- 如何在 XAML 中引用另一个程序集中存在的资源字典后面的代码?
- html - 从 ASP.net/VB.net 中的 SQLdatasource 生成 HTML 表
- c++ - 幂函数的模运算