ホームページ >ウェブフロントエンド >jsチュートリアル >Javascript の三項演算子は Null 合体演算子を置き換えることができますか?

Javascript の三項演算子は Null 合体演算子を置き換えることができますか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-02 08:37:02321ブラウズ

Can Javascript's Ternary Operator Replace Null-Coalescing Operators?

Null 結合演算子の代替としての Javascript の 3 項条件演算子

JavaScript では、論理「OR」(||) 演算子を使用できます。基本的な null 合体演算子として使用できます。たとえば、user.name が null または false の場合に、displayName 変数にデフォルト値を割り当てるには、次のようにします。

<code class="javascript">displayName = user.name || "Anonymous";</code>

ただし、JavaScript は、他の言語にある安全なナビゲーション演算子 (?.) をネイティブにサポートしていません。

CoffeeScript の代替構文

Elvis 演算子の表現力と安全なナビゲーションを求める場合は、JavaScript の代替として CoffeeScript を使用することを検討してください。同様の効果を実現するために、いくつかの省略表記が用意されています。

Elvis 同等の演算子:

<code class="coffeescript">displayName = user?.name || "Anonymous"</code>

Safe Navigation 同等の演算子:

<code class="coffeescript">streetName = lottery.drawWinner?().address?.zipcode</code>

CoffeeScript の追加機能:

  • 存在演算子 (?->): プロパティにアクセスする前にプロパティが存在することを確認します。
  • 関数のショートカット ( ()->): アロー関数を簡潔に宣言します。
  • セクシーな関数呼び出し: 括弧なしで関数呼び出しを許可します。

注:表現力を高めるには、コンパイルまたは