断言对象上存在可枚举属性
Assert that an enumerable property exists on an object
是否可以使用核心节点.js断言模块来检查对象上是否存在属性,即使该属性是伪造的?
https://nodejs.org/api/assert.html
通常我们可以通过运行来检查对象是否具有属性
var assert = require('assert');
assert(obj.prop);
但是,如果obj.prop存在但是是伪造的,这将不起作用。我更喜欢使用 Node.js 断言模块,宁愿避免其他解决方案,谢谢。
也许最好的方法是:
var assert = require('assert');
assert(prop in obj);
可以断言对象上存在可枚举属性。建议的代码非常有效:
var assert = require('assert');
assert(prop in obj);
如果该属性不存在,则引发AssertionError
。
相关文章:
- 不可枚举的属性出现在 for..在 Chrome 中循环
- JSON.stringify未序列化可枚举属性
- Javascript不可枚举属性
- 如何更改 Javascript 对象属性的可写可枚举和可配置值
- 无法在 javascript 中枚举对象的所有属性
- 枚举本地存储属性
- 为什么在枚举属性/函数时键长度不准确
- 遍历所有不可枚举属性的任意方法
- 断言对象上存在可枚举属性
- 在默认情况下将可枚举设置为 false 的 JS 中创建对象属性的其他方法是什么
- 使用 Object.create 时无法枚举属性
- 对不可枚举属性进行迭代
- 使用forEach枚举属性和值
- 如何在IE8的JavaScript中添加不可枚举属性
- 在Javascript中随机选择对象的可枚举属性
- 在angular js的select下拉菜单中访问枚举属性
- 扩展具有不可枚举属性的对象
- JavaScript和/或JSON要求解析器按定义顺序枚举属性吗?
- 可枚举属性与数组
- 为什么JSON.字符串化而不是序列化非枚举属性