How to exclude specific class names in querySelectorAll()?

How can I exclude tag elements that have a specific class name?

<span class="test" />
<span class="test asd" />

document.querySelectorAll('span.test'); //how to exclude all spans with "asd" as class name?

Use :not CSS pseudo-class:

document.querySelectorAll('span.test:not(.asd)');

Use the CSS's negation pseudo-selector, :not():

document.querySelectorAll('span.test:not(.asd)');

The negation pseudo-class, :not(X), is a functional notation taking a simple selector (excluding the negation pseudo-class itself) as an argument. It represents an element that is not represented by its argument.