=== (కఠిన సమానత్వం) మార్పిడి లేకుండా విలువ మరియు రకం రెండింటినీ పోల్చుతుంది. == (సడలిన సమానత్వం) ముందుగా రకం బలవంతం చేస్తుంది, ఇది ఆశ్చర్యకరమైన ఫలితాలకు దారితీస్తుంది.
js
== ;
== ;
== ;
== ;
== ;
=== ;
=== ;
=== (కఠిన సమానత్వం) మార్పిడి లేకుండా విలువ మరియు రకం రెండింటినీ పోల్చుతుంది. == (సడలిన సమానత్వం) ముందుగా రకం బలవంతం చేస్తుంది, ఇది ఆశ్చర్యకరమైన ఫలితాలకు దారితీస్తుంది.
== ;
== ;
== ;
== ;
== ;
=== ;
=== ;
బలవంతం చేసిన నియమాలు స్పష్టంగా లేవు మరియు బగ్లకు దారితీస్తాయి. ఉదాహరణకు, [] == ![] true (ఒక臭く ఉంది). JavaScript మీ వెనుక ఒప్పిక సమయంలో రకాలను నిశ్శబ్దంగా మార్చేందుకు మీరు చాలా అరుదుగా కోరుకుంటారు.
ఎప్పుడూ ===ని ఉపయోగించండి (మరియు !==). మాత్రమే సాధారణ, ఆశయపూర్వక మినహాయింపు null లేదా undefined రెండింటినీ తనిఖీ చేయడం:
if (value == null) { ... } // true for BOTH null and undefined — a deliberate idiom
మిగిలిన అన్నిటికీ, కఠిన సమానత్వం పోలికలను ఊహించదగినవిగా ఉంచుతుంది. వస్తువులను పోల్చడానికి మీకు లోతైన-సమానత్వ తనిఖీ అవసరం (అవి సూచన ద్వారా పోల్చుకుంటాయి, కాబట్టి {a:1} === {a:1} false).