neh*_*ist 9 typescript reflect-metadata
正如标题中所说:reflect-metadataAPI 提供了一个getMetadata方法和一个getOwnMetadata- 这里有什么区别?等也一样hasOwnMetadata。
通常,Own版本和常规版本之间的区别在于查找是否继续沿原型链向上。在自己的版本中,只能找到专门针对目标对象定义的元数据。在常规版本中,如果元数据未在目标对象上定义,则返回在对象原型上定义的元数据。
例子 :
@Reflect.metadata("key", "base value")
class B {
get prop(): number { return 0; }
}
class C extends B{ }
// "base value", metadata was not defined on C but was defined on it's prototype B
console.log(Reflect.getMetadata("key", C));
// undefined, metadata was not defined on C
console.log(Reflect.getOwnMetadata("key", C));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4646 次 |
| 最近记录: |