最近、JavaScript に導入された新しい安全代入演算子 (?.=) を発見し、そのシンプルさにとても魅了されています。 ?
安全な代入演算子 (SAO) は、従来の try...catch ブロックの省略表現です。これにより、操作ごとに明示的なエラー処理コードを記述しなくても、インラインでエラーをキャッチできます。以下に例を示します:
const [error, response] ?= await fetch("https://api.example.com/data");
それだけです!それはとても簡単です。フェッチ リクエストでエラーがスローされた場合、エラー定数に自動的に格納されます。それ以外の場合、応答には結果が保持されます。かなりクールですね?
しかし、待ってください...続きがあります。
SAO を使用する場合は、次のようにさらに先のエラーを処理する必要があります。
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; }
SAO はエラー処理を簡素化しますが、コードがより冗長になる可能性があります。これを従来の try...catch ブロックと比較してください:
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; } }
この場合、try...catch は 9 行のコードしか必要としませんが、SAO はその約 2 倍です。
それで、どう思いますか?安全な代入演算子は時間を節約しますか、それとも不必要な複雑さを追加しますか?
以上が試してみてください...Catch V/s Safe Assignment (?=): 現代の開発にとって恩恵か呪いか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。