Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> JavaScript

जावास्क्रिप्ट में ऑब्जेक्ट लिटरल्स बनाम कंस्ट्रक्टर्स

new Object() नोटेशन और ऑब्जेक्ट लिटरल {} नोटेशन दोनों वही काम करते हैं। वे एक ऑब्जेक्ट इनिशियलाइज़ करते हैं। हालांकि, यदि आप प्रॉपर्टीज जोड़ना शुरू करते हैं तो दूसरी नोटेशन थोड़ी अलग हो सकती है।

उदाहरण

let a = {
  name: 'Ayush'
};

यह इनिशियलाइज़ेशन इसके समतुल्य है:

let a = new Object();
a.name = 'Ayush'

या

let a = {}
a.name = 'Ayush'

हालांकि, इनहेरिटेड क्लासेस के मामले में ऐसा नहीं है। इन क्लासेस के कस्टम कंस्ट्रक्टर्स होते हैं और new ClassName() इनवोकेशन्स को ऊपर दिए गए फ्लो से अलग काम करने के लिए मॉडिफाई कर सकते हैं। यह पूरी तरह प्रोग्रामर के विवेक पर निर्भर करता है।

विस्तृत तुलना

पहलू Object Literal {} new Object()
सिंटैक्स संक्षिप्त, पठनीय वर्बोज़
प्रदर्शन थोड़ा तेज़ फंक्शन कॉल ओवरहेड
प्रॉपर्टीज इनिशियलाइज़ेशन इनलाइन अलग स्टेटमेंट्स
प्रोटोटाइप Object.prototype Object.prototype

कंस्ट्रक्टर फंक्शन पैटर्न

// कंस्ट्रक्टर फंक्शन
function Person(name, age) {
  this.name = name;
  this.age = age;
}

const person1 = new Person('John', 30);

// ES6 क्लास (सिंटैक्टिक शुगर)
class Person {
  constructor(name, age) {
    this.name = name;
    this.age = age;
  }
}

const person2 = new Person('Jane', 25);

Object.create() - प्रोटोटाइपल इनहेरिटेंस

const proto = {
  greet() { console.log(`Hello, I'm ${this.name}`); }
};

const person = Object.create(proto);
person.name = 'John';
person.greet(); // "Hello, I'm John"

सिफारिश: सिंपल ऑब्जेक्ट्स के लिए लिटरल सिंटैक्स {} उपयोग करें। क्लासेस/कंस्ट्रक्टर्स जब आपको एक ही स्ट्रक्चर के मल्टीपल इंस्टेंसेस बनाने हों।

  1. JavaScript में Blob ऑब्जेक्ट JavaScript में Blob ऑब्जेक्ट

    Blob ऑब्जेक्ट एक अपरिवर्तनीय (immutable) ऑब्जेक्ट को दर्शाता है जिसका उपयोग कच्चे डेटा (raw data) को प्रस्तुत करने के लिए किया जाता है। Blob में size और mime type प्रॉपर्टी होती हैं, ठीक वैसे ही जैसे किसी फाइल में होती हैं। File, Blob से व्युत्पन्न (derived) है और Blob का उपयोग उन स्थानों पर किया जा

  1. जावास्क्रिप्ट में RegExp ऑब्जेक्ट जावास्क्रिप्ट में RegExp ऑब्जेक्ट

    RegExp ऑब्जेक्ट का उपयोग टेक्स्ट में पैटर्न मिलान, खोज और टेक्स्ट के भाग को निकालने के लिए किया जाता है। RegExp ऑब्जेक्ट को या तो RegExp कंस्ट्रक्टर या लिटरल सिंटैक्स का उपयोग करके बनाया जा सकता है। जावास्क्रिप्ट में RegExp ऑब्जेक्ट के लिए निम्नलिखित कोड है: उदाहरण <!DOCTYPE html> <html la

  1. जावास्क्रिप्ट में ऑब्जेक्ट इनिशियलाइज़र जावास्क्रिप्ट में ऑब्जेक्ट इनिशियलाइज़र

    एक ऑब्जेक्ट इनिशियलाइज़र एक एक्सप्रेशन है जो हमें नए बनाए गए ऑब्जेक्ट को इनिशियलाइज़ करने की अनुमति देता है। यह एक ऑब्जेक्ट के प्रॉपर्टी नामों और संबंधित मानों के शून्य या अधिक जोड़ों की कॉमा-सेपरेटेड सूची है जो कर्ली ब्रेसेस {} में संलग्न होती है। जावास्क्रिप्ट में ऑब्जेक्ट इनिशियलाइज़र के लिए निम