正在準備內容……

JavaScript 測驗

陣列與物件

複習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核對,不計分。

一起解釋規則,分享公開復習指南

可以問:“為什麼第一次改copy.inner.n會影響source,第二次給copy.inner賦新物件卻不會?哪條箭頭改變了?”各自先寫預測,再比較最早分歧;可查語言規則、只讀軌跡、換例子或不參與。討論限定在給定片段,不要求上傳專案、披露生產錯誤或證明工作能力。

分享按鈕只複製公開練習入口,不攜帶答案或正確數;也可自行分享這份公開指南。四組用於安排複習,不是開發者等級、招聘通過線或廠商認證。執行核對支援特定片段的行為,不驗證題組的心理測量質量,也不證明所有瀏覽器與宿主環境表現相同。

開始免費練習

分項複習指南

  • 值與運算子

    複習拼接、減法、嚴格相等、空值合併、邏輯或及顯式NaN核對。

  • 繫結與函式

    複習const與修改、塊內遮蔽、閉包保留繫結、預設形參及兩種早期語法錯誤。

  • Promise與錯誤

    複習Promise反應、all、catch恢復、async返回值、JSON解析及嚴格模式凍結屬性賦值。

每個匹配答案記一道正確

每個匹配答案加1題,其他有效選擇加0題。四組六題合成正確數/24,無加權、部分分、反向計分或時間獎勵。24題有效選擇前不給個人正確數,不默補漏題。

使用完整程式碼與答案核對

報告保留每段原創程式碼、所選、答案及解析。零分、部分答對、全對都可讀四份全文。2/6只是所給六題兩個匹配答案,不是百分位、校準開發者等級、招聘線或資格。

固定且宣告環境的練習題組

題組按Node 24.19.0的.mjs ES模組實跑,選定ECMAScript 2024核心規則作參考,不聲稱覆蓋最新特性或所有瀏覽器、Node宿主介面行為相同。不評專案開發、架構或生產除錯。重測還是24題,約十分鐘是編輯估計,不是實測計時基準。

原創片段與核過的結果

費馬編寫程式、干擾項、解析及指南,來源說明選定語言或模組規則,不搬其例子或專有招聘題。本獨立練習無廠商背書或認證。程式碼作為轉義文本顯示,選擇在瀏覽器計分,不執行訪問者指令碼。