I open VSCode and create test.js and write something like:
var test = (function () {
return {
foo: function () {
//foo
},
bar: function () {
//foo
}
};
})();
Start typing test and I can see suggested for me via intellisense foo and bar, and I F12 on either it takes me to the definition.
Now if I introduce a namespace, like so:
var test = test || {};
test.rob = (function () {
return {
foo: function () {
//foo
},
bar: function () {
//foo
}
};
})();
Intellisense 'loses' the definition, doesn't highlight foo and bar and won't go to definition when using F12.
Any idea why? Have I defined my JavaScript incorrectly perhaps?