断言对象上存在可枚举属性

Assert that an enumerable property exists on an object

本文关键字:枚举 属性 存在 对象 断言      更新时间:2023-09-26

是否可以使用核心节点.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