जावास्क्रिप्ट में ऑब्जेक्ट खाली है या नहीं कैसे जाँचें? (सरल और विश्वसनीय तरीके)
नमस्ते! मैंने अभी-अभी जावास्क्रिप्ट सीखना शुरू किया है और मुझे एक समस्या का सामना करना पड़ा: मुझे यह जाँचना है कि ऑब्जेक्ट खाली है या नहीं (अर्थात इसमें कोई अपनी प्रॉपर्टी नहीं है)। पहली नज़र में यह आसान लगता है, लेकिन वास्तव में यह अधिक जटिल निकला।
यहाँ एक उदाहरण है: मेरे पास एक ऑब्जेक्ट `userSettings` है, जो खाली हो सकता है यदि उपयोगकर्ता ने कुछ भी कॉन्फ़िगर नहीं किया है:
```javascript
let userSettings = {};
```
मैं ऐसी शर्त लिखना चाहता हूँ:
```javascript
if (userSettings === {}) {
console.log("कोई सेटिंग्स नहीं");
}
```
लेकिन यह काम नहीं करता। मैंने समझ लिया कि `===` ऑपरेटर रेफरेंस की तुलना करता है, न कि ऑब्जेक्ट की सामग्री की। फिर मैंने `Object.keys(userSettings).length === 0` आज़माया, लेकिन सुना है कि इस विधि में समस्याएँ हो सकती हैं। इसके अलावा, मैंने देखा कि कोई `JSON.stringify(userSettings) === '{}'` का उपयोग करता है, लेकिन यह एक तरह का कामचलाऊ उपाय लगता है।
कृपया बताएँ कि सबसे सही और विश्वसनीय तरीका कौन सा है? यह महत्वपूर्ण है कि समाधान सभी आधुनिक ब्राउज़रों में काम करे और मुश्किल मामलों में टूटे नहीं (जैसे)