(JS) Truthy and Falsy & if



function print(person) {
  console.log(person.name);
}

const person = {
  name: 'hodoo'
};

print(person);

//output TypeError: Cannot read property 'name' of undefined
print関数がobjectを与えていない場合、出力コンソールに問題がある場合は、次の機能を実現できます.
function print(person) {
  if (person === undefined) {
    console.log('person이 없네요');
    return;
  }
  console.log(person.name);
}

const person = null;
print(person);
null値がprintにパラメータとして渡されると、次のエラーが発生します.
TypeError: Cannot read property 'name' of null
すべてのエラーを回避するために最終的にコードを記述すると、
function print(person) {
  if (person === undefined || person === null) {
    console.log('person이 없네요');
    return;
  }
  console.log(person.name);
}

const person = null;
print(person);
personが定義されていない場合やnullの場合に対応するために、次のコードを作成します.
このように記述されたコードは、以下のように略記することができる.
function print(person) {
  if (!person) {
    console.log('person이 없네요');
    return;
  }
  console.log(person.name);
}

const person = null;
print(person);
undefinedとnullはfalse値なのでfalsey値に感嘆符を付けるとtrueに変換されます.!personは、人間という変数がなければと理解できる.

Falsy値

console.log(!undefined);
console.log(!null);
console.log(!0);
console.log(!'');
console.log(!NaN);
以上の値はtrueです.
  • undefined
  • null
  • 0
  • 「空の文字列」
  • NAN (Not A Number)
  • console.log(!3);
    console.log(!'hello');
    console.log(!['array?']);
    console.log(![]);
    console.log(!{ value: 1 });
    以前とは逆に、すべての値はfalseです.
    実際の値と虚偽の値もif文で使用できます.
    const value = { a: 1 };
    if (value) {
      console.log('value가 Truthy하네요.');
    }
    valueは真の値であるため、メッセージはコンソールに出力されます.
    逆に、値が**null、undefined、0、""またはNaNのいずれかの場合、この値は表示されません.
    これらの真の値と虚偽の値を理解すると、条件文を書くときによく利用できます.
    一部の値が真の値である場合はtrue、そうでない場合はfalseです.
    3つの演算子を使用してみてください.
    const value = { a: 1 };
    const truthy = value ? true : false;
    これはもっと簡単に表現できます.
    const value = { a: 1 };
    const truthy = !!value;
    形容できる!valueはfalseになって、ここにいます!falseはtrueで、結果はtrueです.