Подтвердить что ты не робот

Что такое функция Rect в Chrome/Firefox?

Я наткнулся на функцию Rect(), которая присутствует как в Firefox, так и в Chrome (но не в IE 10):

typeof Rect; // "function"
Rect;        // function Rect() { [native code] }

Но эта функция недоступна ни напрямую, ни как конструктор:

Rect();     // TypeError: Illegal constructor
new Rect(); // TypeError: Illegal constructor

Какова цель этой функции?

4b9b3361

Ответ 1

Rect - это интерфейс, определенный в Спецификация стиля объекта документа (DOM) уровня 2, который будет использоваться при работе с CSS rect() в привязках DOM (таких как привязки DOM Javascript в браузере).

Как вы заметили, вы не можете назвать его как конструктор самостоятельно, но объекты, реализующие этот интерфейс, возвращаются различными функциями например. .getRectValue():

function doSomething(v) {
  if (v instanceof Rect) {
    ...
  }
  else {
    ...
  }
}
doSomething(window.getComputedStyle(elem, null).
  getPropertyCSSValue(styleProp).getRectValue());