-2
В чем разница между этим:разница между обув и TYPEOF обув === «неопределенном»
if(!foo) {
...
}
И это:
if(typeof foo === "undefined") {
...
}
Я видел некоторый код, который пытается лечить эти два заявления, как если бы они были идентичными, но я столкнулся с проблемами при этом. Я делал что-то подобное с AngularJS:
var property = {
value: $scope.foo //$scope.foo may or may not have been defined above, depending on contexts
...
};
func(property);
function func (property) {
if(!property.value) {
//This doesn't get executed, even if $scope.foo was never defined
}
}
Мне кажется, что (!foo)
== (typeof foo === "undefined")
Правильно ли это?
Это сообщение, которое может быть полезно для понимания использования === http://stackoverflow.com/questions/523643/difference-between-and-in-javascript – osmanraifgunes