Чтобы проверить, чтобы переменная не была нулевой и не неопределенной,
if(thatVariable)
достаточно, хотя неявное преобразование может вызвать проблемы в некоторых случаях, когда thatVariable является пустой строкой, или логическим значением, или числом 0. Если неявное преобразование не относится к нашей переменной, будет сделано следующее:
if(arguments[0].recordCount && arguments[0].recordCount > 0)
Но следующее было бы проблематично,
if(arguments[0].recordCount !== undefined && arguments[0].recordCount > 0)
Рассмотрим,
var undefined = 'surprise' //possible since undefined is not a keyword
if(arguments[0].recordCount !== undefined && arguments[0].recordCount > 0)
Теперь это «если» будет нарушено, хотя recordCount не определено.
Еще одна вещь: if(a != null)
также проверит неопределенность из-за неявного преобразования. Следовательно if(a != null && a != undefined)
является избыточным