Rumah > hujung hadapan web > tutorial js > Cuba...Tangkap Tugasan Selamat V/s (?=): Rahmat atau Kutukan untuk Pembangunan Moden?

Cuba...Tangkap Tugasan Selamat V/s (?=): Rahmat atau Kutukan untuk Pembangunan Moden?

WBOY
Lepaskan: 2024-08-26 21:33:32
asal
919 orang telah melayarinya

Try...Catch V/s Safe Assignment (?=): A Boon or a Curse for Modern Development?

Baru-baru ini, saya menemui Pengendali Tugasan Selamat (?.=) baharu yang diperkenalkan dalam JavaScript dan saya benar-benar terpesona dengan kesederhanaannya. ?

Safe Assignment Operator (SAO) ialah alternatif ringkas kepada cubaan tradisional...catch block. Ia membolehkan anda menangkap ralat sebaris tanpa menulis kod pengendalian ralat yang jelas untuk setiap operasi. Berikut ialah contoh:

const [error, response] ?= await fetch("https://api.example.com/data");
Salin selepas log masuk

Itu sahaja! Ia semudah itu. Jika permintaan pengambilan melemparkan ralat, ia disimpan secara automatik dalam pemalar ralat; jika tidak, tindak balas memegang hasilnya. Agak hebat, bukan?

Tetapi tunggu… ada lagi.

Apabila menggunakan SAO, anda masih perlu menangani ralat lebih jauh, seperti ini:

async function getData() {
  const [requestError, response] ?= await fetch("https://api.example.com/data");

  if (requestError) {
    handleRequestError(requestError);
    return;
  }

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

  if (parseError) {
    handleParseError(parseError);
    return;
  }

  const [validationError, data] ?= validation.parse(json);

  if (validationError) {
    handleValidationError(validationError);
    return;
  }

  return data;
}
Salin selepas log masuk

Walaupun SAO memudahkan pengendalian ralat, ia boleh membawa kepada lebih banyak kod verbose. Bandingkan dengan percubaan tradisional...catch block:

async function getData() {
try {
  const response = await fetch("https://api.example.com/data");
  const json = await response.json();
  const data = validation.parse(json);
  return data;
} catch (error) {
  handleError(error);
  return;
}
}
Salin selepas log masuk

Dalam kes ini, cuba...tangkap hanya memerlukan 9 baris kod, manakala SAO lebih kurang dua kali ganda daripadanya.

Jadi, apa pendapat anda? Adakah Operator Tugasan Selamat adalah penjimat masa, atau adakah ia menambah kerumitan yang tidak perlu?

Atas ialah kandungan terperinci Cuba...Tangkap Tugasan Selamat V/s (?=): Rahmat atau Kutukan untuk Pembangunan Moden?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan