How in world is the following is outputting "undefined" instead of a "number"?
<script>
var foo = {
bar: function(){ return this.baz; },
baz: 1
}
console.log(typeof (f = foo.bar)());
</script>
Note: The code is exactly right and not a typo. I mean (f = foo.bar)() only here which is a valid code.