JavaScript函数对象参数断言

JavaScript函数对象参数断言,javascript,function,object,parameters,assert,Javascript,Function,Object,Parameters,Assert,在代码中实现断言以检查传递的函数参数的有效性,我导致了一种情况,即参数可以在没有对象的情况下初始化,因此未定义。问题是,断言它为未定义并不总是一个错误,我不想在日志中看到它 那么,还存在断言对象参数的感觉吗?这个参数是否还有其他值,我应该在我的错误日志中声明和包含 function(store, records, success, eOpts) { console.assert( records, "Error - no records passed to funct

在代码中实现断言以检查传递的函数参数的有效性,我导致了一种情况,即参数可以在没有对象的情况下初始化,因此未定义。问题是,断言它为未定义并不总是一个错误,我不想在日志中看到它

那么,还存在断言对象参数的感觉吗?这个参数是否还有其他值,我应该在我的错误日志中声明和包含

function(store, records, success, eOpts) {
  console.assert(
      records,
      "Error - no records passed to function." // Could be no records, no object passed. Its ok!
  );
}

未定义
不是对象。如果您想允许这样做,只需更改您的断言即可。请给我们看你的代码,这样我们就可以建议你怎么做了;这涉及任何代码中任何地方的资产的一般方法;关于未定义-一个重要的通知是;但问题仍然存在——我们有未定义的参数值,对象在哪里;有时候这是可以的;在这种情况下,应该检查这个参数吗?如果可以,那么我看没有理由检查它?您还可以将断言放在预期对象所在的代码分支中。我怀疑其他任何内容都无法检查。因此我提出了这个问题。至少参数的类型可以被检查为一个对象,而不是一个字符串或其他什么?当然,如果你知道它必须是“object或undefined”,你可以简单地检查一下。