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 の代わりに表示する
コメントを書く