@@ -450,3 +450,42 @@ getDaysBetweenDates("10/15/2020", "12/1/2020"); // 47
450450** References**
451451
452452- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date
453+ ---
454+
455+ ### 19. How can you detect NaN in JavaScript?
456+
457+ NaN is a special numeric value in JavaScript that indicates "Not-a-Number." You can use Number.isNaN() or isNaN() to check for NaN, though they behave differently.
458+
459+ ``` javascript
460+
461+ console .log (Number .isNaN (NaN )); // true
462+ console .log (Number .isNaN (" hello" )); // false (doesn't coerce)
463+ console .log (Number .isNaN (undefined )); // false
464+
465+ console .log (isNaN (NaN )); // true
466+ console .log (isNaN (" hello" )); // true (coerces to NaN)
467+ console .log (isNaN (undefined )); // true (coerces to NaN)
468+ ```
469+ ** References**
470+
471+ - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isNaN
472+ ---
473+
474+ ### 20. Show how to use Object.is for equality comparison between primitives
475+
476+ Object.is can be used to check strict equality between two values, especially in edge cases like NaN, 0 and -0, where === may behave differently.
477+
478+ ``` javascript
479+
480+ console .log (Object .is (10 , 10 )); // true
481+ console .log (Object .is (" hello" , " hello" )); // true
482+ console .log (Object .is (NaN , NaN )); // true (different from ===)
483+ console .log (Object .is (0 , - 0 )); // false (different from ===)
484+ console .log (Object .is (null , null )); // true
485+ console .log (Object .is (undefined , undefined )); // true
486+ console .log (Object .is (Symbol (), Symbol ())); // false (different symbols are unique)
487+ ```
488+ ** References**
489+
490+ - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
491+ ---
0 commit comments