Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
undefined vs typeof vs in vs hasOwnProperty / ver. 2
Object lookup performance
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36
Browser:
Chrome 138
Operating system:
Mac OS X 10.15.7
Device Platform:
Desktop
Date tested:
19 days ago
Test name
Executions per second
undefined
9719.7 Ops/sec
typeof
9126.6 Ops/sec
in
9174.7 Ops/sec
hasOwnProperty
5790.0 Ops/sec
bool
4739.6 Ops/sec
Script Preparation code:
var obj = { a: 1, b: 2, c: 3, d: 4, e: 5 }; var keys = new Array(4096 * 5); for (let i = 0; i < keys.length; i += 1) keys[i] = Math.random().toString(); for (let i = 0; i < keys.length; i += 2) obj[keys[i]] = i;
Tests:
undefined
for (let i = 0; i < 4096; i += 1) obj[keys[4096 * 0 + i]] === undefined;
typeof
for (let i = 0; i < 4096; i += 1) typeof obj[keys[4096 * 1 + i]] === "undefined";
in
for (let i = 0; i < 4096; i += 1) keys[4096 * 2 + i] in obj;
hasOwnProperty
for (let i = 0; i < 4096; i += 1) obj.hasOwnProperty(keys[4096 * 3 + i]);
bool
for (let i = 0; i < 4096; i += 1) !obj[keys[4096 * 4 + i]];