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");
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; }
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; } }
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!