Test name | Executions per second |
---|---|
clientWidth / clientHeight (destructured and renamed) | 1782714.9 Ops/sec |
clientWidth / clientHeight (destructured) | 1775377.6 Ops/sec |
clientWidth / clientHeight (simple property access) | 1790556.4 Ops/sec |
getBoundingClientRect() (destructured) | 2379475.2 Ops/sec |
getBoundingClientRect() (simple property access) | 2412465.0 Ops/sec |
getComputedStyle | 875991.0 Ops/sec |
<div id="el">
<h2>Lorem ipsum dolor sit amet</h2>
</div>
var el = document.getElementById("el");
const { clientWidth: width, clientHeight: height } = el;
const perim = (width + height) * 2;
const { clientWidth, clientHeight } = el;
const perim = (clientWidth + clientHeight) * 2;
const width = el.clientWidth;
const height = el.clientHeight;
const perim = (width + height) * 2;
const { width, height } = el.getBoundingClientRect();
const perim = (width + height) * 2;
const rect = el.getBoundingClientRect();
const width = rect.width;
const height = rect.height;
const perim = (width + height) * 2;
const { height, width } = getComputedStyle(el);
const perim = (width + height) * 2;