面試真題講解
逐題講清解題思路、關鍵實作與常見追問。
如何手寫 JavaScript 深層複製,正確處理循環參照與共用參照?
先定義有限的複製契約,再以來源物件到副本的 WeakMap 實作深層複製,讓循環參照、共用參照、Map、Set 與支援的內建物件保持一致,並判斷何時應直接使用 structuredClone。
如何手寫 JavaScript EventEmitter,正確處理 on、off、once 與 emit?
從事件契約出發手寫 JavaScript EventEmitter,處理重複註冊、派發中增刪監聽器、once 重入與例外傳遞,並以邊界案例驗證語意。
如何手寫 Promise.all,並正確處理順序與失敗?
從可迭代輸入的契約出發,實作支援一般值、thenable、空輸入、順序保留與快速失敗的 Promise.all,並以邊界案例驗證語意。