正在準備內容……

JavaScript 測驗

Promise與錯誤

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

辨認失敗階段和處理器返回的值。

正確數記錄六道給定Node 24 ES模組任務中匹配答案的次數,不是開發者等級、百分位、僱主門檻或資格。任何正確數都能讀全部答案及四份完整指南。

六個確定的非同步與失敗例子

Promise題用已落定輸入或直接返回值的async函式,問同步push與反應先後、Promise.all收集值、catch替代值及async結果。錯誤題區分有效JavaScript在執行時解析無效JSON,與嚴格模式給凍結屬性賦值。無題要求猜網路響應、計時延遲或無關宿主介面順序。

跟隨catch返回後的值

新不計分例從Promise.reject("no")開始,接catch(()=>6),再在下一then列印value+2。處理器返回普通數值6,讓下一個Promise履行,後面的回撥列印8。若catch改為拋錯或返回另一個拒絕Promise,後續不同。分別追蹤返回值與下一Promise狀態,不認為進入catch就永久不能履行。

分清同步階段

題定排序例先在模組同步階段執行普通push,Promise反應隨後作為作業執行,下一反應在前者改變陣列後列印。這支援該確定軌跡,不是籠統斷言瀏覽器與Node所有事件迴圈相同、或一切回撥都晚於所有迴圈;更廣主張須說明宿主、介面及位置。

把all與async讀成Promise操作

本題Promise.all按輸入順序收兩個履行值,不做求和,也不按猜測完成順序選擇。async函式返回可用所返回數值履行的Promise,then收到該數值;catch返回普通值可使下游履行。例子不建立組合Promise拒絕會取消其他輸入工作的結論,取消是另一個問題。

區分語法失敗與列印的錯誤名稱

有效模組可呼叫JSON.parse解析不完整JSON,捕獲SyntaxError物件並列印名稱,這不同於題組另兩道宣告題在執行前失敗。凍結屬性題中,ES模組嚴格模式使不可寫賦值拋TypeError,原數值不變。選答案前先說明預測的是解析、拋錯、捕獲,還是列印字串。

寫簡短的狀態與輸出軌跡

用新.mjs、虛構標籤且無外部請求,先標同步步驟,再記每個反應的輸入、返回值與下一狀態。恢復路徑與明確拋錯分開測,避免輸出互相掩蓋;按宣告環境先預測再執行。這是可選本機練習,沒有保證提高速率;網站不執行訪問者指令碼或檢視真實生產日誌。

使用完整複習,不附職業標籤

六個匹配選擇只描述選定任務,不確定能否診斷生產競態、設計可靠非同步軟體或滿足僱主要求。任何正確數都免費給解析與全文,無校準能力檔位或證書。題組固定,兩語英文程式碼一致;重做前讀答案可提高記憶,不證明遷移到陌生非同步程式碼。

回顧:返回恢復值與再次丟擲分別追蹤

新例建立兩個鏈:const recovered=Promise.reject("retry").catch(()=>8); const propagated=Promise.reject("retry").catch(reason=>{throw reason;}).catch(reason=>"caught:"+reason); console.log((await Promise.all([recovered,propagated])).join("|"));輸出8|caught:retry。第一條catch返回普通值使後續履行;第二條先丟擲,讓下一Promise拒絕,再由後一個catch返回字串恢復。Promise.all按給定輸入順序收值,這個輸出不是完成速度比較。該獨立.mjs在Node 24.19.0核過,無外部請求或定時器,不加入正確數。

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

可以問:“兩個catch都被呼叫過,為什麼只有一個立刻得到履行值?第二條鏈在哪一步恢復,Promise.all的輸出順序又來自哪裡?”各自先寫預測,再比較最早分歧;可查語言規則、只讀軌跡、換例子或不參與。討論限定在給定片段,不要求上傳專案、披露生產錯誤或證明工作能力。

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

開始免費練習

分項複習指南

  • 值與運算子

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

  • 繫結與函式

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

  • 陣列與物件

    複習map、filter、reduce、淺展開復制、Set大小以及自有與繼承屬性。

每個匹配答案記一道正確

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

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

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

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

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

原創片段與核過的結果

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