typescript - How to declare getter in Typescript class
问题描述
How do I declare (not define) a getter inside a Typescript class?
Something like:
class Foo {
declare get bar();
...
}
The actual implementation is added dynamically via some nonsense Javascript annotation, but I want to make Typescript aware that it exists.
解决方案
如何使用可选属性创建接口?它会让 TypeScript 意识到它可能存在于这个类中。同时,该属性不会在类中定义,因此在这个无意义的 JS 注释定义它之后,没有覆盖 bar 属性的风险。多写一点,但这里有一个演示如何实现它:
interface DeclaredVars {
bar?: boolean;
}
class Some implements DeclaredVars {
constructor() {
console.log((this as DeclaredVars).bar);
}
}
const s: DeclaredVars = new Some();
console.log(s.bar);
s.bar = true;
console.log(s.bar);
因此,您无需定义属性,但可以尝试访问它并稍后进行修改。类型声明是必需的。
推荐阅读
- matlab - 等效于不需要输出参数的“evalin”(内部)
- list - 从列表 f# 中删除一些
- kubernetes - 在 kubernetes pod 上出现错误 no such device or address
- typescript - 打字稿方法返回未定义?
- aws-lambda - 如何使用带有 AWS Lambda 和 SNS 事件的 Spring Cloud Functions 触发重试
- javascript - JSON结构中的映射依赖关系
- java - 如何使用 X-Forwarded-* 标头创建没有上下文路径的 URI?
- java - 如何修复 EditInputText 空对象错误?
- r - 请求限制和申请
- python - 基于其他列pandas相同值的列数学运算