TypeScript में == और === के बीच अंतर
सभी को नमस्ते! कृपया TypeScript में नए व्यक्ति को समझाएं: == और === ऑपरेटरों के बीच मूलभूत अंतर क्या है? मैंने पढ़ा है कि JavaScript में पहला type coercion करता है, जबकि दूसरा strict comparison करता है, लेकिन TypeScript में, जहां तक मैं समझता हूं, types पहले से ही compiler द्वारा सख्ती से नियंत्रित होते हैं।
यहां एक उदाहरण है जो मुझे भ्रमित करता है:
const a: number = 5;\nconst b: string = "5";\n\nif (a == b) {\n console.log("== के साथ बराबर");\n}\n\nif (a === b) {\n console.log("=== के साथ बराबर");\n}पहला if एक message output करता है, दूसरा नहीं। मुझे उम्मीद थी कि TypeScript मुझे बिना explicit type conversion के number और string की तुलना करने ही नहीं देगा, लेकिन code compile हो जाता है। ऐसा क्यों होता है? क्या TypeScript को a == b पर error नहीं देनी चाहिए? या यह strict typing की विशेषता है जो केवल compile time पर काम करती है, जबकि runtime पर JS logic का उपयोग होता है?
मैंने tsconfig.json में strict: true सेट करने की कोशिश की — पर