Javascript if代码中的false条件后的事件转到if时钟而不是else块

Javascript if代码中的false条件后的事件转到if时钟而不是else块,javascript,reactjs,ecmascript-6,Javascript,Reactjs,Ecmascript 6,我有if-else条件,其中有3个检查都返回false,但代码仍在if块中,它应该转到else,因为所有检查都失败了 如果我测试类似于If(false | | false | | false)的东西,那么这可以正常工作,但我的代码没有正常工作 state = { year : 2019, sortby : '', genres : [] } nextState = { year : 2019, sortby : '', genres : [] }; console.log(state.year

我有if-else条件,其中有3个检查都返回false,但代码仍在if块中,它应该转到else,因为所有检查都失败了

如果我测试类似于
If(false | | false | | false)
的东西,那么这可以正常工作,但我的代码没有正常工作

state = { year : 2019, sortby : '', genres : [] }
nextState = { year : 2019, sortby : '', genres : [] };

console.log(state.year !== nextState.year);
console.log(state.sortby !== nextState.sortby);
console.log(!_.isEqual(state.genres.sort(), nextState.genres.sort()))

if(state.year !== nextState.year ||
   state.sortby !== nextState.sortBy ||
   !_.isEqual(state.genres.sort(), nextState.genres.sort())
){
  console.log("Inside if");
}else{
  console.log("Inside else");  
}

因为你写了
state.sortby!==nextState.sortBy
而不是
state.sortBy!==nextState.sortby


那就行了。

印刷错误

state = { year : 2019, sortby : '', genres : [] }
nextState = { year : 2019, sortby : '', genres : [] };

console.log(state.year !== nextState.year);
console.log(state.sortby !== nextState.sortby);
console.log(!_.isEqual(state.genres.sort(), nextState.genres.sort()))

if(state.year !== nextState.year ||
   state.sortby !== nextState.sortby ||
   !_.isEqual(state.genres.sort(), nextState.genres.sort())
){
  console.log("Inside if");
}else{
  console.log("Inside else");  
}