typescript - 打字稿:不使用对象返回所有变量
问题描述
我在 TypeScript 中有下一堂课:
export class A {
public a:boolean = false;
public b:boolean;
public c:string = null;
public d:string;
}
...
let some = new A();
console.log(Object.keys(some)) // Returns only [a,c]
我有兴趣获取所有变量名称,分配和未分配,然后获取该变量的类型。
为什么 Object.keys 没有给我所有的属性?// 我的有效结果是:a,b,c,d
解决方案
Typescript 只是编译回纯 javascript 的超集。它在编译期间提供额外的类型检查,并且可以帮助某些 IDE 和编辑器中的智能感知。
您刚刚让 typescript 知道,您的对象 A 只会有变量,a,b,c,d
然后分配一些值。如果您尝试分配给对象上的变量:它会在编译期间失败。a
c
e
some.e = false
但最后它被编译为常规的 javascript 和变量b
,d
根本不存在。
推荐阅读
- sql - SQL 过程按参数值分组
- ruby-on-rails - Rails 在事务单元测试回滚后运行代码
- python - 在 python 中,如何用熊猫替换特征空间模块?
- php - Prometheus:导出自定义 php 指标未显示在普罗米修斯中
- amazon-web-services - 如何检查我的 EC2 实例是否可突增?(AWS)
- r - 将 sf 转换为标记的 ppp
- go - 如何在每天的特定时间运行作业?
- c++ - 如何在 C++ 中正确使用并行化以使代码更快?
- spring - Spring WebClient 将动态请求正文作为 JSON 传递
- c# - jqgrid使用ajaxFileUpload上传具有不同文件ID的多个文件