应用程序多层中的Javascript保护

应用程序多层中的Javascript保护,javascript,types,parameters,Javascript,Types,Parameters,假设我们有这样一个函数: someFunc(item) { if (!item.itemType) return false someFunc(item) { if (!item || !item.itemType) return false item参数检查是在应用程序的另一层中完成的,因此它“永远”不会得到falsy值。我的方法仍然是这样检查: someFunc(item) { if (!item.itemType) return false someFunc(item)

假设我们有这样一个函数:

someFunc(item) {
  if (!item.itemType) return false
someFunc(item) {
  if (!item || !item.itemType) return false
item
参数检查是在应用程序的另一层中完成的,因此它“永远”不会得到
falsy
值。我的方法仍然是这样检查:

someFunc(item) {
  if (!item.itemType) return false
someFunc(item) {
  if (!item || !item.itemType) return false
我总是做每一次检查的原因是,应用程序的其他层可能会发生变化,而且任何人都看不出它是在代码库的某个地方处理的。而且,我不想通过挖掘代码库来确认它

我的方法是否在每个参数检查都应该完成的意义上是好的,并且我们应该始终检查特定的事情,例如检查参数类型是否是数组、对象、null等?我和我的同事讨论了这个问题,他们更喜欢像第一个例子中那样做