[英]How can I throw an error when an attribute is accessed in JS?
如果没有定义属性,我想有一个属性抛出错误,就像在这个问题中一样 。 该问题的每个答案建议使用Python的@property
装饰器在未定义字段时引发异常。 我怎么能在JS中做到这一点?
编辑:
我希望相当于:
var MyObj = {
method: function(){
throw new Error('This method is not implemented');
}
};
......但更接近:
var MyObj = {
attribute: throw new Error('This attribute is not defined');
};
这个问题可以分为两部分,
var myObj = {}; // just an example, could be a prototype, etc
如何向Object添加不可枚举的属性?
这是通过Object.defineProperty
完成的
Object.defineProperty(myObj, 'foo', {get: function () {/* see next part */}});
我定义了一个getter ,因此您将看到错误消息,而无需使用()
来调用该函数。
我怎么能抛出错误?
这与使用throw
语句一样简单。 JavaScripts最接近您正在寻找的错误类型很可能是ReferenceError 。
throw new ReferenceError("Subclasses should implement this!");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.