ใช้ Number() แปลง null เป็น Number จะได้ 0
ตัวอย่างโค้ด
<!DOCTYPE html>
<html>
<body>
<p>Convert null to Number</p>
<script>
var myVal = null;
document.write("Number: " + Number(myVal)); // ผลลัพธ์: 0
</script>
</body>
</html>
Type Conversion Table: null
| Method | Result | Type |
|---|---|---|
Number(null) | 0 | Number |
String(null) | "null" | String |
Boolean(null) | false | Boolean |
null + 5 | 5 | Number (Coercion) |
null == 0 | true | Loose Equality |
null === 0 | false | Strict Equality |
คำอธิบาย
Number(null) === 0— ตาม Spec: ToNumber(null) = +0- ต่างจาก
undefined:Number(undefined) === NaN - Loose Equality:
null == undefined(true),null == 0(true),null == ""(true) - Strict Equality:
null === undefined(false),null === 0(false)
Best Practice
- ใช้
===(Strict) เพื่อหลีกเลี่ยง Coercion ที่สับสน - Check Null ก่อนคำนวณ:
const val = num ?? 0(Nullish Coalescing ES2020) Number()ใช้สำหรับ Explicit Conversion ชัดเจนกว่า+nullหรือparseInt(null)