Nullish coalescing 【JavaScript】

Nullish coalescing 【JavaScript】

Nulish coalescing (ヌリッシュ コアレッシング) とは新しくJavaScriptに導入されたoperatorで、
??
です。
?? の左側が null または undefined の場合は、右側に書かれたものをデフォルト値として使います。

ちなみに、null と undefined をまとめてnullish valueといいます。

何言ってるかよくわからないと思うので、早速例で確認しましょう。

const getName = name => {
    return name ?? "N/A";
}

console.log(getName("Sam")); // "Sam"
console.log(getName(undefined)); // "N/A"
console.log(getName(null)); // "N/A"

getName(“Sam”)の場合、??の左側にあるnameには”Sam”が格納されているので、右側は実行されずに”Sam”がコンソールにログされます。

他方、getName(undefined)の場合とgetName(null)の場合は??の左側にundefined、nullがそれぞれ格納されているので、

undefined ?? "N/A"
null ?? "N/A"

となり、右側に書かれたものが使われることになります。そのため、”N/A”がreturnされ、コンソールにログされるわけです。

ちなみに、Nulish coalescing の読み方は、ヌリッシュ コアレッシング です。

このNulish coalescingを使うと、undefined や null がUser interfaceに表示されないようにできます。エラー起っちゃってるのかな?とユーザーに勘繰られなくてすむわけです。
よくある使い方の例として、
・empty string “”を undefined や null の代わりに表示する
・”Deleted user”といった文字列を undefined や null の代わりに表示する
・”N/A” (Not Applicable)という文字列を undefined や null の代わりに表示する

JavaScriptカテゴリの最新記事