diff --git a/web/pdf_link_service.js b/web/pdf_link_service.js
index 846bbd669..0913993de 100644
--- a/web/pdf_link_service.js
+++ b/web/pdf_link_service.js
@@ -103,6 +103,8 @@ function addLinkAttributes(link, { url, target, rel, enabled = true } = {}) {
  * @implements {IPDFLinkService}
  */
 class PDFLinkService {
+  #pagesRefCache = new Map();
+
   /**
    * @param {PDFLinkServiceOptions} options
    */
@@ -122,14 +124,12 @@ class PDFLinkService {
     this.pdfDocument = null;
     this.pdfViewer = null;
     this.pdfHistory = null;
-
-    this._pagesRefCache = null;
   }
 
   setDocument(pdfDocument, baseUrl = null) {
     this.baseUrl = baseUrl;
     this.pdfDocument = pdfDocument;
-    this._pagesRefCache = Object.create(null);
+    this.#pagesRefCache.clear();
   }
 
   setViewer(pdfViewer) {
@@ -505,7 +505,7 @@ class PDFLinkService {
     }
     const refStr =
       pageRef.gen === 0 ? `${pageRef.num}R` : `${pageRef.num}R${pageRef.gen}`;
-    this._pagesRefCache[refStr] = pageNum;
+    this.#pagesRefCache.set(refStr, pageNum);
   }
 
   /**
@@ -517,7 +517,7 @@ class PDFLinkService {
     }
     const refStr =
       pageRef.gen === 0 ? `${pageRef.num}R` : `${pageRef.num}R${pageRef.gen}`;
-    return this._pagesRefCache?.[refStr] || null;
+    return this.#pagesRefCache.get(refStr) || null;
   }
 
   /**