[javascript] TypeError: 'undefined' is not an object

I have a currently fairly dysfunctional Javascript program that's been causing me problems. However, it throws one error that I just don't understand:

TypeError: 'undefined' is not an object (evaluating 'sub.from.length')

What I'm trying to do, as you can probably guess, is check the length of a certain "from" array in the sub dict. Here's the source code for the entire function, and here's the code of the loop that I think is causing the error:

console.log(afcHelper_ffuSubmissions.length); // just for debugging, returns the correct number
for (var i = 0; i < afcHelper_ffuSubmissions.length; i++) { // this whole section works fine
    var sub = afcHelper_ffuSubmissions[i];
    //console.log("THIS IS BROKEN DOWN BY LINK",afcHelper_Submissions[i]);
    if (pagetext.indexOf(afcHelper_ffuSections[sub.section]) == -1) {
        // Someone has modified the section in the mean time. Skip.
        document.getElementById('afcHelper_status').innerHTML += '<li>Skipping ' + sub.title + ': Cannot find section. Perhaps it was modified in the mean time?</li>';
        continue;
    }
    var text = afcHelper_ffuSections[sub.section];
    var startindex = pagetext.indexOf(afcHelper_ffuSections[sub.section]);
    var endindex = startindex + text.length;

    console.log(sub); 
    if (typeof(sub.from) != 'undefined' && sub.from.length > 0) { // ** problem spot?? this is the code i recently added.
        for (var i = 0; i < sub.from.length; i++) {
            mainid = sub.from[i]['id'];
            var sub = afcHelper_Submissions[mainid]; // and then it goes on from here...

Any ideas would be great. Frankly, I just can't see why I'm getting a TypeError about something that I've already explicitly checked the type of (typeof(sub.from))...

This question is related to javascript

The answer is


try out this if you want to assign value to object and it is showing this error in angular..

crate object in construtor

this.modelObj = new Model(); //<---------- after declaring object above