Javascript 在我的应用程序中有奇怪的行为
我在React本机应用程序中导航到第二个屏幕,下面是第二个屏幕的构造函数:Javascript 在我的应用程序中有奇怪的行为,javascript,reactjs,react-native,Javascript,Reactjs,React Native,我在React本机应用程序中导航到第二个屏幕,下面是第二个屏幕的构造函数: constructor(props) { super(props); const navParams = props.navigation.state.params; if(navParams !== undefined && navParams.eventId) { let MyStr = "Inside IF"; } else {
constructor(props) {
super(props);
const navParams = props.navigation.state.params;
if(navParams !== undefined && navParams.eventId) {
let MyStr = "Inside IF";
}
else
{
let MyStr = "Inside ELSE";
}
}
navParams
不是未定义的(请参见下面的观察),而且eventId
也不是空的(请参见下面的观察)。然而,执行的是else
语句,而不是if
是什么问题导致了这种奇怪的行为
eventId
是0
,这意味着这将失败(navParams!==未定义和&navParams.eventId)
你需要更多类似的东西
(navParams!==未定义和&navParams.eventId!==未定义)
或
(navParams!==未定义和&navParams.eventId>-1)
如果该值为
0
,则其计算结果基本上为false
。有趣!欢迎来到JS?@KyleKhalaf是的,JS几乎没有什么秘密可以欺骗新用户