I'm a bit confused when checking if null or undefined and if I should be using !==
or !=
and "undefined" or undefined.
Here is some code I'm working on. Where am I going wrong with my null/unudefined etc?
var c = (jQuery(this).prop("target") != null && jQuery(this).prop("target") != undefined && jQuery(this).prop("target").toLowerCase() == "_blank") ? 1 : 0;
Thanks
Both null
and undefined
are "falsy" values, thus they can be checked like they were boolean values. Thus, there's no sense comparing to null
and undefined
except for certain situations where you need to know if they are such values.
when comparing, it's best to use strict comparison (like ===
,!==
and so on)
the &&
in a condition does not evaluate the following condition if the one preceeding it is "falsy".
You don't even need jQuery since this
is your DOM object (presumably an <a>
) and you are trying to get the target
property:
In the end:
var c = (this.target && this.target.toLowerCase() === "_blank") ? 1 : 0;