Почему не проходит условие if? #javascript

Хочу изобрести свой велосипед и попробовать написать функцию глубокого копирования объектов. Начал с примитивного - проверка ключа на тип данных. Если тип данных у ключа - object, то ныряем глубже. При тесте примитивной проверки условие if не выполняется. Что не так? ЗЫ я знаю про библиотеку Lodash.

'use strict';

let user = {
    name: 'Иван',
    sizes: {
      width: 300,
      height: 500,
    },
  },
  permissions1 = {
    canView: true,
    canEdit: false,
  },
  permissions2 = {
    canEdit: true,
  };

let clone = Object.assign(user, permissions1, permissions2);

// let cope = _.cloneDeep(clone); // lodash

for (let property in user) {
  if (typeof property === 'object') { // Здесь ни одно условие не проходит, хотя typeof user.sizes === object
    //...
  }
}
alert(typeof user.sizes === 'object'); // true

Ответы (0 шт):