JS能够覆盖对象的Getter方法
is JS able to overwrite Object's Getter method?
everyone:
众所周知,从 Object 获取不存在的值会得到一个"未定义",有没有办法抛出错误而不是返回undefined
?
例如:
var a= {example:"example"};
//do something here
a.b //error throw instead of "undefined"
非常感谢帮助。
Object.define 属性有一种指定 get 和 set 方法的方法
查看下面的链接
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty
Object 类有一个方法"hasOwnProperty",它也可以用来在尝试访问属性之前检查它是否存在
ES6 附带了代理对象,它将帮助您重载点运算符。这意味着您可以在检索属性时调用函数。这将允许您检查属性是否已定义,以及它是否没有"引发"错误。希望这有帮助。更多信息在这里
查看上面的例子,如果你试图在定义"a"后用一个值初始化对象 a 上的属性"b",那么你可以很容易地执行以下操作:
var a= {example:"example"};
//do something here
a.b = 'some value';
a.b //now an error is not throw
大多数对象即使在初始化后也可以重新定义。初始化对象后,可以添加和删除属性和方法。我说大多数,因为可以防止对象被扩展/更改(使用Object.preventExtension方法(。https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/preventExtensions
相关文章:
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- 数组在递归方法中设置为null
- 如何防止在javascript中执行继承属性的getter-setter方法
- localStorage-对象的getter-, setter-方法的目的是什么?
- 使用getter和setter实现函数链接的方法
- 在标准ES6类中添加getter方法有意义吗
- JS是否可以具有与属性相同的getter和setter方法
- 任何重写参数的方法'getter/setter性质
- 如何使用getter和setter方法创建一个Angular工厂而不遇到竞争条件
- 具有自身内在价值的对象.另一种做getter的方法
- JS能够覆盖对象的Getter方法
- 从Sequelize getter方法访问关联表
- 构造函数、getter和setter方法中的Object.defineProperty
- 在getter之后调用Jquery方法
- 应该在JavaScript中使用setter/getter方法吗?
- 私有属性的通用setter/getter方法
- 为什么jquery getter css()方法和javascript返回不同的样式变量值
- 数组属性的JavaScript getter方法
- 在Vuex getter中使用组件道具的正确方法是什么