Run details:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36
Chrome 97
Mac OS X 10.15.7
Desktop
2 years ago
Test name Executions per second
Use hasClass shorthand 2646564.2 Ops/sec
Use classList 3254439.5 Ops/sec
HTML Preparation code:
AخA
 
1
<div id="foo" class="bar baz"></div>
Script Preparation code:
 
var test_element = document.getElementById("foo");
Tests:
  • Use hasClass shorthand

    x
     
    function hasClass(element, classes) {
        classes = classes.split(' ');
        for (var i = 0; i < classes.length; i++) {
            if (!element.classList.contains(classes[i])) {
                return false;
            }
        }
        return true;
    };
    hasClass(test_element, "bar baz");
  • Use classList

     
    test_element.classList.contains("bar");
    test_element.classList.contains("baz");