JavaScript में call और apply के बीच क्या अंतर है?
नमस्ते सहकर्मियों! मैंने JavaScript सीखना शुरू किया है और call और apply मेथड्स पर ध्यान गया। मैंने डॉक्यूमेंटेशन पढ़ा, लेकिन पूरी तरह से समझ नहीं पाया कि इनमें क्या अंतर है। मेरे पास, मान लीजिए, एक ऑब्जेक्ट है:
```javascript
const user = {
name: 'Иван',
greet: function(greeting, punctuation) {
console.log(`${greeting}, ${this.name}${punctuation}`);
}
};
const admin = {
name: 'Петр'
};
```
मैं `admin` ऑब्जेक्ट की ओर से `greet` मेथड को कॉल करना चाहता हूँ। जहाँ तक मैं समझता हूँ, दोनों मेथड्स `this` सेट करने की अनुमति देते हैं। लेकिन जब मैं प्रयास करता हूँ:
```javascript
user.greet.call(admin, 'Привет', '!'); // काम करता है
user.greet.apply(admin, ['Привет', '!']); // यह भी काम करता है
```
क्या अंतर केवल इतना है कि `apply` आर्गुमेंट्स की एक array लेता है? या कोई और बारीकियाँ भी हैं? क्या इससे प्रदर्शन प्रभावित होता है? या ऐसे मामले हैं जब एक मेथड दूसरे से बेहतर होता है? उदाहरणों के साथ विस्तृत स्पष्टीकरण के लिए आभारी रहूँगा।
<<>>
मुख्य अंतर: आर्गुमेंट्स पास करने का तरीका
आपने बिल्कुल सही कहा। मुख्य अंतर यह है कि