62

私は現在、いくつかのプロジェクトで ES2015+ の贅沢に浸っていてundefined、新しい不思議の国でチェックするために非常に嫌われている松葉杖を取り除くことができるかどうか疑問に思っています.

typeof varName === 'undefined'すでに ES2015+へのより短いが正確な方法はありますか?

もちろん、デフォルトのパラメーターを使用することもできますが、これも不要な割り当てのように感じます。

function coolFn(a = null){
   if (a===null) console.log("no a supplied");
}
4

2 に答える 2

85

を確認してくださいvarName === undefined

古いブラウザでは、グローバルundefined変数に別の値を割り当ててテストを失敗させることができましたが、ES2015+ ではそれが不可能になりました。

undefinedパラメータとして明示的に渡すことと、パラメータを完全に除外することを区別する方法は、 を見る以外にないことに注意してくださいarguments.length

于 2016-01-04T17:25:31.967 に答える