Javascript Null记录错误地触发Else语句
我有一个函数,可以为我的两个数据库属性创建一个slug,但我希望它仅在记录中存在数据时,才能同时返回两个值的slug。为了创建这个逻辑,我决定创建和if/else语句,查找两个字段是否都有空值,然后在语句为true或false时进行渲染。我有一些记录的值为空,但它们仍然会触发“Statement false”console.log,我不明白为什么。当我控制台自己记录变量时,这些记录将为null。我的陈述不起作用的原因是什么 控制台日志:Javascript Null记录错误地触发Else语句,javascript,datetime,if-statement,Javascript,Datetime,If Statement,我有一个函数,可以为我的两个数据库属性创建一个slug,但我希望它仅在记录中存在数据时,才能同时返回两个值的slug。为了创建这个逻辑,我决定创建和if/else语句,查找两个字段是否都有空值,然后在语句为true或false时进行渲染。我有一些记录的值为空,但它们仍然会触发“Statement false”console.log,我不明白为什么。当我控制台自己记录变量时,这些记录将为null。我的陈述不起作用的原因是什么 控制台日志: null //startDateValue no valu
null //startDateValue no value
null //endDateValue no value
Statement false //Wrong conclusion. "Statement true" should have been triggered
Sat Mar 05 2016 19:00:00 GMT-0500 (EST)
Thu Apr 07 2016 20:00:00 GMT-0400 (EDT)
Statement false //Correct conclusion. Both values are present
功能:
dataDateRangeSlug: function(){
var startDateValue = this.getDataValue('dataDateStart');
var startDate = new Date(startDateValue);
var momentStartDate = moment(startDate).utc().format("MM/DD/YYYY");
var endDateValue = this.getDataValue('dataDateEnd');
var endDate = new Date(endDateValue);
var momentEndDate = moment(endDate).utc().format("MM/DD/YYYY");
console.log(startDateValue);
console.log(endDateValue);
if (startDateValue && endDateValue == null){
console.log("Statement true");
} else {
console.log("Statement false");
return momentStartDate + ' - ' + momentEndDate;
}
},
当设置startDateValue且endDateValue为空时,将验证此条件
您可以通过以下方式进行更正:
if (startDateValue == null && endDateValue == null){
console.log("Statement true");
}
&&
是介于两个条件之间的和
,您不能使用它检查两个变量是否为空
if (startDateValue == null && endDateValue == null){
console.log("Statement true");
}