例如,如果我们有一个这样的类:
class MyClass {
className: string;
}
Run Code Online (Sandbox Code Playgroud)
是否可以在编译时将“MyClass”分配给 className 属性?
编辑:已经尝试过 this.constructor.name。但是,后者对缩小代码没有帮助。因此检查是否有办法在将 typescript 代码编译为 JS 时捕获类名。我正在使用 angular-cli。
根据我的阅读,如果在对象上找不到属性或方法,则会在对象的原型上进行搜索。在下面的示例中,我创建了一个对象。然后将该对象的原型分配给对象文字。我现在可以访问对象原型的方法。但无法访问相同的对象。为什么这样?
var functionMaster = Object.create(null);
//assign proto to below object literal
functionMaster.prototype = {
printVal: function() {
console.log('Hello test');
},
printNo: function(num) {
console.log(num);
}
}
//Works as expected
functionMaster.prototype.printVal();
//Doesnt find PrintVal() method
functionMaster.printVal();Run Code Online (Sandbox Code Playgroud)