Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

NaN แปลงเป็น Boolean ใน JavaScript ยังไง?

ใช้ Boolean() แปลง NaN เป็น Boolean จะได้ false

ตัวอย่างโค้ด

<!DOCTYPE html>
<html>
  <body>
    <p>Convert NaN to Boolean</p>
    <script>
      var myNaN = NaN;
      document.write("Boolean : " + Boolean(myNaN)); // ผลลัพธ์: false
    </script>
  </body>
</html>

Type Conversion Table: NaN

MethodResultType
Boolean(NaN)falseBoolean
Number(NaN)NaNNumber
String(NaN)"NaN"String
!!NaNfalseBoolean
NaN == NaNfalseLoose Equality
NaN === NaNfalseStrict Equality

คำอธิบาย

  • NaN เป็น Falsy Value (1 ใน 7 ค่า: false, 0, -0, 0n, "", null, undefined, NaN)
  • Boolean(NaN) === false ตาม Spec: ToBoolean(NaN) = false
  • NaN ไม่เท่ากับตัวเอง: NaN !== NaN — ใช้ Number.isNaN() หรือ Object.is(NaN, NaN) เช็คแทน

Best Practice

  • เช็ค NaN: Number.isNaN(value) (ไม่ Coerce Argument)
  • Polyfill: Number.isNaN = Number.isNaN || (v => v !== v)
  • หลีกเลี่ยง Global isNaN() — Coerce Argument (เช่น isNaN("hello") === true)