Elvis とセーフ ナビゲーション オペレーターは JavaScript 値をどのように保護しますか?

Barbara Streisand
リリース: 2024-11-04 01:20:03
オリジナル
335 人が閲覧しました

How do the Elvis and Safe Navigation Operators Protect JavaScript Values?

JavaScript 値の保護: Elvis とセーフ ナビゲーション演算子

JavaScript では、変数が null または未定義でないことを確認することが、エラーを防ぐために重要です。 Elvis 演算子とセーフ ナビゲーション 演算子は、このタスクに役立つ 2 つの手法です。

Elvis 演算子: 条件付きショートカット

Java の三項演算子である Elvis 演算子に似ています。 (?:) は、左側の式が false、null、または未定義に解決される場合にデフォルト値を割り当てます。例:

const displayName = user.name ?: "Anonymous";
ログイン後にコピー

user.name が存在し、空でない場合、displayName はその値を受け取ります。それ以外の場合は、デフォルトで「Anonymous」になります。

セーフ ナビゲーション演算子: NullPointerExceptions の回避

セーフ ナビゲーション演算子 (?.) は、null の可能性があるプロパティにアクセスする際の NullPointerExceptions を防ぎます。オブジェクト。例外をスローする代わりに、単に null を返します。例:

const streetName = user?.address?.street;
ログイン後にコピー

user または user.address が null の場合、streetName は null のままになります。これにより、存在しないオブジェクトのプロパティにアクセスするときのエラーが防止されます。

JavaScript の代替手段

現在、JavaScript には Elvis 演算子がありません。代わりに、条件付き代入に論理 OR 演算子 (||) を使用できます。

const displayName = user.name || "Anonymous";
ログイン後にコピー

ただし、セーフ ナビゲーション演算子に直接相当する演算子はありません。同様の機能については、存在演算子を提供する CoffeeScript の使用を検討してください。

const zip = lottery.drawWinner?().address?.zipcode;
ログイン後にコピー

CoffeeScript は、複数行コメント、関数ショートカット、「セクシーな」関数呼び出しなど、他の構文拡張機能も提供します。これらの機能により、JavaScript コードの読みやすさと表現力が向上します。

以上がElvis とセーフ ナビゲーション オペレーターは JavaScript 値をどのように保護しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート