陣列與物件
複習map、filter、reduce、淺展開復制、Set大小以及自有與繼承屬性。
區分新外層物件與共享巢狀值。
正確數記錄六道給定Node 24 ES模組任務中匹配答案的次數,不是開發者等級、百分位、僱主門檻或資格。任何正確數都能讀全部答案及四份完整指南。
六個明確的資料變化
陣列題給完整回撥和短數列,問map是否保持給定源不變、filter選哪些值、reduce顯式初值怎樣參與。物件題區分新外層與共享巢狀值、重複字串與不同集合項、沿原型找到與直接自有的屬性。答案依賴所述操作,不憑“複製理應怎樣”的猜測。
追蹤含巢狀列表的淺複製
新不計分例:source含items:["m"],用{...source}建copy,再copy.items.push("n")。外層物件不同,items卻訪問同一陣列,源列表現含m和n。將source.items.join(":")與外層身份比較再用冒號連線,得m:n:false。共享巢狀陣列只畫一次,不因外層多一個物件就另畫獨立陣列。
先讀回撥,再判斷操作影響
本題map回撥返回n+1、不改源,因此支援源不變答案,卻不保證所有map回撥無副作用。filter用n>0,排除零並保留原順序;reduce從明確給出的1開始。預測結果時把實際回撥及初值寫旁邊,不只靠記住方法名。
區分屬性查詢與屬性自有
Object.create(parent)建立以parent為原型的物件,讀取屬性可在那裡找到值,Object.hasOwn卻可報告子物件不自有它,二者一致而非誰錯了。同理Set大小數保留條目,不數輸入位置。例子用普通物件與字串,不覆蓋所有代理、訪問器、特殊相等假設或異常物件設計。
同時說明結果與保留下來的源
在可丟棄.mjs中用虛構值,陣列變換前分別預測返回陣列和源;物件複製則預測外層身份與一次巢狀修改。每次只改篩選邊界或巢狀值位置等一項,先寫預測再核輸出。用合成數據,避免暴露客戶資料或改有用應用狀態。
定位混淆的是物件還是位置
錯題可能來自把淺複製當深複製、漏掉累加初值,或認為繼承屬性一定自有。用完整解析定位具體區別。六題總數不能判斷能否建模大型資料或在整個應用避免意外修改;即使全對,想看推理能否遷移仍宜換新值新例。
完整複習不附排名
完整有效作答後,無論正確數都可讀全部題解和四份全文。原創片段按宣告的Node 24.19.0 ES模組環境執行,不是廣泛瀏覽器相容研究,也不評真實資料庫工作。不派僱主門檻、開發者檔位或認證;重讀與輔助查閱會影響正確數,個人複習宜記這些條件。
回顧:改巢狀內容與替換屬性分開追蹤
新例const source={inner:{n:1}}; const copy={...source}; copy.inner.n=3; copy.inner={n:9}; console.log(source.inner.n+":"+copy.inner.n+":"+(source===copy));輸出3:9:false。先複製外層,兩個inner共享一個物件;改n讓源也讀到3。隨後給copy.inner換新物件,只改copy的屬性,source.inner仍指向值為3的舊物件。先畫一次共享物件,再畫後來的替換,避免把“曾經共享”理解為“以後所有賦值都同步”。該獨立.mjs已在Node 24.19.0核對,不計分。
分項複習指南
- 值與運算子
複習拼接、減法、嚴格相等、空值合併、邏輯或及顯式NaN核對。
- 繫結與函式
複習const與修改、塊內遮蔽、閉包保留繫結、預設形參及兩種早期語法錯誤。
- Promise與錯誤
複習Promise反應、all、catch恢復、async返回值、JSON解析及嚴格模式凍結屬性賦值。
每個匹配答案記一道正確
每個匹配答案加1題,其他有效選擇加0題。四組六題合成正確數/24,無加權、部分分、反向計分或時間獎勵。24題有效選擇前不給個人正確數,不默補漏題。
使用完整程式碼與答案核對
報告保留每段原創程式碼、所選、答案及解析。零分、部分答對、全對都可讀四份全文。2/6只是所給六題兩個匹配答案,不是百分位、校準開發者等級、招聘線或資格。
固定且宣告環境的練習題組
題組按Node 24.19.0的.mjs ES模組實跑,選定ECMAScript 2024核心規則作參考,不聲稱覆蓋最新特性或所有瀏覽器、Node宿主介面行為相同。不評專案開發、架構或生產除錯。重測還是24題,約十分鐘是編輯估計,不是實測計時基準。
原創片段與核過的結果
費馬編寫程式、干擾項、解析及指南,來源說明選定語言或模組規則,不搬其例子或專有招聘題。本獨立練習無廠商背書或認證。程式碼作為轉義文本顯示,選擇在瀏覽器計分,不執行訪問者指令碼。

