Javascript对象

我在网上课程中遇到了一个问题:

编写一个称为vowelCount的函数,该函数接受一个字符串并返回一个对象,该对象的键为元音,而值则为元音在字符串中出现的次数。此函数应区分大小写,因此小写字母和大写字母都应计数

例子:     vowelCount('Elie')// {e:2,i:1};

来自讲师的解决方案是这样的:

function vowelCount(str){
    var splitArr = str.toLowerCase().split("");
    var obj = {};
    var vowels = "aeiou";

    splitArr.forEach(function(letter){
        if(vowels.indexOf(letter) !== -1){
            if(obj[letter]){
                obj[letter]++;
            } else{
                obj[letter] = 1;
            }
        }
    });
    return obj;
}

我理解解决方案,直到第二个“ if”语句。我知道第一个“ if”语句是要检查输入字符串中的“字母”是否属于“元音”。然后在第二个“ if”中,检查“字母”是否在上面创建的空“ obj”对象中,但是在那一行,在将“ letter”添加到其中之前,“ obj”为空,那么什么是同样,为什么要向对象添加这个新的“字母”需要增量,我尝试了没有增量的代码,并且对象仍然为空。