首頁 > web前端 > js教程 > JavaScript 安全賦值運算子:try/catch 的替代方案

JavaScript 安全賦值運算子:try/catch 的替代方案

Linda Hamilton
發布: 2024-10-29 03:10:30
原創
282 人瀏覽過

注意力

我想指出安全賦值運算子必須得到 polyfill 的支持,因為它尚未包含在 ECMAScript 標準中。在本文中,我們將探討如何使用 ECMAScript 標準中的安全賦值運算子。


如果你喜歡我的文章,可以請我一杯咖啡:)
JavaScript Safe Assignment Operator : Alternative to try/catch


使用 JavaScript 開發時,特別是使用非同步函數或複雜 API 時,我們使用 try/catch 進行錯誤處理。 ECMAScript 宣布了一個新的運算子。 安全賦值運算子 (?=) 簡化了錯誤處理,並為處理結果和錯誤提供了統一的結構,特別是在非同步操作期間。

當您使用安全賦值運算子時,它會檢查函數或操作是否成功。如果成功,則傳回結果。如果不成功則傳回錯誤。

現在讓我們來探索如何使用安全賦值運算子(?=)


現在讓我們來寫安全賦值運算子的 api 請求的語法

async function fetchData() {
  const [error, response] ?= await fetch("https://jsonplaceholder.typicode.com/todos/1"); // safe assigment op.

  if (error) {
    console.error("Fetch error:", error);
    return;
  }

  const [jsonError, jsonData] ?= await response.json();

  if (jsonError) {
    console.error("JSON error:", jsonError);
    return;
  }

  return jsonData;
}
登入後複製

API請求中,每一步都會傳回一個物件;該物件儲存與請求相關的資訊。我們可以使用物件解構功能來取得該物件內部的資料。借助**安全賦值運算子**(?=),當API請求發生錯誤時,我們可以透過解構方法處理錯誤對象,安全地檢索錯誤訊息或錯誤代碼。 const [錯誤,回應],錯誤回傳錯誤回應回傳資料


在物件和函數中的用法

?= 運算子 可以與實作 Symbol.result 方法的物件或函數一起使用。

  • 物件
const objSafe = {
  [Symbol.result]() {
    return [new Error("Object error"), null];
  }
};

const [error, result] ?= objSafe;
console.log(error)

登入後複製

  • 功能
function safeOperator(arr) {
  return 'data';
}

const [error, result] = safeOperator[Symbol.result](arr);
登入後複製

結論

在本文中,我們研究如何在 ECMAScript 標準 中使用安全賦值運算子。我認為他是一個非常有用的操作員。現在我們知道如何使用它了。

以上是JavaScript 安全賦值運算子:try/catch 的替代方案的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板