Результат someElement.getBoundingClientRect()
возвращает специальный объект типа ClientRect
(или DomRect
, по-видимому)
Он структурирован как {top: 10, right: 20, bottom: 30, left: 10, width: 10}
К сожалению, этот объект не ведет себя как другие объекты.
Например, использование Object.keys
на нем возвращает пустой массив (я думаю, потому что ClientRect
свойства не перечислены
Я нашел что-то грязное, чтобы преобразовать в простой объект:
var obj = {}
for (key in rect) {
obj[key] = rect[key]
}
Мой вопрос: есть лучший способ?