これは、私のエッセンシャルズシリーズの一部です。 これらは、最もエキサイティングな投稿ではありません。 しかし、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

です。

Articles

コメントを残す

メールアドレスが公開されることはありません。