Эта статья всегда будет обновляться, когда я сталкиваюсь с какими-либо ошибками или событиями, которые стоит записать во время разработки и отладки.
Что такое нулевое значение в JavaScript?
null >= 0
верно в JavaScript, но null === 0
неверно в JavaScript
/* Total scenario: When we get a inventory number from backend but api would return null which means inventory is unlimited how to fix it from Front-end? */ // Original Function const inventoryCalc(inv){ return (inv >= 0 ? inv : 0) - (selectNumbersByUsers) } // Scenario 1 let inventory = 0 inventoryCalc(inventory) // Return 0 - selectNumbersByUsers // Scenario 2 inventory = null inventoryCalc(inventory) // Return null - selectNumbersByUsers // null >= 0 in javascript, but null is not === 0 // Scenario 3 inventory = 1 inventoryCalc(inventory) // Return 1 - selectNumbersByUsers /*============================================================*/ // Fix function const inventoryCalc(inv){ return ( inv !== null ? inv : Number.MAX_SAFE_INTEGER) - (selectNumbersByUsers) } // Scenario 1 > return 0 - selectNumbersByUsers // Scenario 2 > return Number.MAX_SAFE_INTEGER - selectNumbersByUsers // Scenario 3 > return 1 - selectNumbersByUsers