<!DOCTYPE html>
<html lang="ko">
    <head>
        <meta charset="UTF-8">
        <title>querySelector() 함수</title>     
    </head>
    <body>
        <ul>
            <li>김밥</li>
            <li>라면</li>
            <li>떡볶이</li>
        </ul>
        <script src="queryselector.js"></script>
    </body>
</html>
document.querySelector("li").style.backgroundColor = "red";
브라우저에서 실제 표시된 모습 HTML 문서 내에서 지정한 CSS 선택자('li')와 일치하는 첫 번째 요소가 선택되서 배경색을 red로 스타일했습니다.
// HTML 문서 전체에서
document.querySelector(selectors)

// 특정한 요소 객체 내에서
element.querySelector(selectors)
<div class="container">
    <p>자손 요소입니다.</p>
</div>
let container = document.querySelector(".container"); // 특정한 요소 객체입니다.

let matche = container.querySelector("p"); // 특정한 요소 객체 내에서 요소 찾기
/* let matche = document.querySelector(".container p");와 동일한 반환값입니다. */
// HTML: <div id="myElement">이 요소의 스타일을 변경합니다.</div>
const element = document.querySelector("#myElement");

element.style.backgroundColor = "lightblue";
element.style.color = "darkblue";
// HTML: <button id="myButton">클릭하세요</button>
const button = document.querySelector("#myButton");

button.addEventListener("click", () => {
  alert("버튼이 클릭되었습니다!");
});
// HTML: <ul id="myList"></ul>
const myList = document.querySelector("#myList");
const items = ["항목 1", "항목 2", "항목 3"];

for (let i = 0; i < items.length; i++) {
  let listItem = document.createElement("li");
  listItem.textContent = items[i];
  myList.appendChild(listItem);
}
<!DOCTYPE html>
<html lang="ko">
    <head>
        <title>querySelector() 예제</title>
    </head>
    <body>
        <div id="myElement">이 요소를 선택할 수 있습니다.</div>
        <script>
            const nonExistentElement = document.querySelector("#nonExistentElement");
            
            if (nonExistentElement === null) {
              console.log("일치하는 요소가 없습니다.");
            } else {
              console.log("일치하는 요소를 찾았습니다.");
            }
        </script>
    </body>
</html>

caniuse.com에서 더 자세한 정보를 확인해 보세요.