Имеет ли смысл такая конструкция в JS?
Цикл for..in перебирает свойства объекта и всех его прототипов. Чтобы исключить свойства прототипов из цикла используется проверка hasOwnProperty.
Сейчас это считается устаревшим, в моде перебор объекта через Object.keys/Object.values/Object.enties с помощью for..of или перебирающих методов Array.
т.е. нынче конструкция for (var i in result) {
    if (result.hasOwnProperty(i)) {
        //Остальной код
    }
}
должна выглядеть такObject.keys(result).forEach((i) => {
  //Остальной код
});
К объекту через прототипы может быть прикручено какое-то общее свойство, которое в данном контексте не нужно. Поэтому тут и проверяются свойства именно этого конкретного объекта без беготни по цепочке прототипов.