これは、私のエッセンシャルズシリーズの一部です。 これらは、最もエキサイティングな投稿ではありません。 しかし、JS がなぜそのようなことをするのかを理解するために、これらの基本的なことを知ることは重要です。 なぜ動かないのかがわかるので、デバッグがうまくいき、ジュニアデベロッパーから中級デベロッパーになる助けになります。 さあ、始めましょう 💪
JSの値には、固有のブール値が関連付けられています。 そのため、これらの値がどのように評価されるか(真または偽)を知ることは、特に比較や条件文に関して超重要です🤓
私は以前、どの値が真になるかを考えようとしたことがあります。 そんなことはしないでください。 その代わり、どんな値がFalsyなのかを暗記しましょう。 リストになければ、それは真実とみなされます👍
// JS Essentials: Falsy ValuesfalseundefinednullNaN0 or +0 or -0"" or '' or `` (empty string)// Everything else is truthy
# 実際真実である値
ここでは、あなたが真実だと思っていた(少なくとも私はそうでした)値のサンプルをいくつか紹介しますが、実際にはtrue
に評価されます。 false リストにない場合は true であることを忘れないでください!
// All these will return **true**Boolean(); // Empty Boolean({}); // Empty {}Boolean('0'); // String containing zeroBoolean('false'); // String containing the text falseBoolean(function() {}); // Empty functionBoolean(-Infinity); // Infinity or Negative InfinityBoolean(new Date()); // Date object
# Using Falsy Value in Conditional Statements
JSのすべての値はブール値 (true または false) に評価されるので、そのような値は使用できません。 if
文の中で条件を短くすることができます。
// ❌if(false === null)if(undefined === null)if(null === null)if(NaN === null)if(0 === null)if("" === null)if(value === null)// ✅ Much betterif(!value)
# 三項演算子でのFalsy値の使用
同様に、三項演算子の中で条件を短くするために使用できます。
// ❌'' === false ? '🙂' : '🙃';// ✅ Much better'' ? '🙂' : '🙃';
# 論理演算子のFalsy値の使用
ここで面白いものを紹介します。 ||
と &&
を使って、値を返すことができるのです。 間違いなく、どの値がfalsyでtruthyなのかを知ることは超重要です。
||
比較は truey 式が評価されるとすぐに停止します
const or = '' || 'hi'; // "hi"const or = || 'hi'; //
&&
比較は falsy 式が評価されるとすぐに停止します
const and = '' && 'hi'; // ""const and = && 'hi'; // "hi"
# Community Examples
# Using Falsy Values for Unit Testing
Jason A: ユニット テストでは、時々、falsy 値の配列を使用して、フォールバックが正しく動作するかどうかを確認するためにそれらをループします。 jsawbrey
です。