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

Ale*_*lls 2 javascript assert node.js

是否可以使用核心 Node.js Assert 模块来检查对象上是否存在属性,即使该属性为假?

https://nodejs.org/api/assert.html

通常我们可以通过运行来检查对象是否具有属性

var assert = require('assert');
assert(obj.prop);
Run Code Online (Sandbox Code Playgroud)

但如果 obj.prop 存在但为假,这将不起作用。我更喜欢使用 Node.js assert 模块,宁愿避免使用其他解决方案,谢谢。

也许最好的方法是:

    var assert = require('assert');
    assert(prop in obj);
Run Code Online (Sandbox Code Playgroud)

gne*_*kus 5

可以断言对象上存在可枚举属性。建议的代码效果很好:

var assert = require('assert');
assert(prop in obj);
Run Code Online (Sandbox Code Playgroud)

如果该属性不存在,AssertionError则抛出an 。