window.addEventListener("hashchange", (event) => { })

window.onhashchange = (event) => { }
// 해시가 변경될 때마다 현재 해시 값을 콘솔에 출력합니다.
window.addEventListener("hashchange", (event) => {
    console.log("해시가 변경되었습니다.");
    console.log("현재 해시 값:", location.hash);
});
<nav>
    <a href="#general-section">일반 섹션</a>
    <a href="#canvas-section">캔버스 섹션</a>
</nav>

<section id="general-section">
    <h2>일반 섹션</h2>
</section>
<section id="canvas-section">
    <h2>캔버스 섹션</h2>
    <canvas id="my-canvas" width="250" height="180"></canvas>
</section>
window.addEventListener("hashchange", () => {
    if (location.hash === "#canvas-section") {
    
        // 캔버스 그리기
        const canvas = document.getElementById("my-canvas");
        const ctx = canvas.getContext("2d");

        ctx.clearRect(0, 0, canvas.width, canvas.height);

        ctx.beginPath();
        ctx.arc(125, 90, 50, 0, Math.PI * 2);
        ctx.fill();
    }
});