जेएस ट्यूटोरियल

जेएस होम जे एस परिचय जे एस कहाँ करने के लिए जेएस आउटपुट जेएस स्टेटमेंट्स जेएस सिंटेक्स जे एस टिप्पणियाँ जेएस चर जे एस लेट जेएस कॉन्स्ट जेएस ऑपरेटर्स जे एस अंकगणित जेएस असाइनमेंट जेएस डेटा प्रकार जे एस कार्य जेएस ऑब्जेक्ट्स जेएस इवेंट्स जे एस स्ट्रिंग्स जे एस स्ट्रिंग तरीके जे एस स्ट्रिंग खोज जे एस स्ट्रिंग टेम्पलेट्स जेएस नंबर जेएस संख्या के तरीके जे एस सरणी जेएस सरणी के तरीके जेएस ऐरे सॉर्ट जेएस सरणी पुनरावृत्ति जेएस ऐरे कॉन्स्ट जे एस तिथियाँ जेएस तिथि प्रारूप जेएस तिथि प्राप्त करने के तरीके JS दिनांक सेट विधियाँ जे एस मठ जे एस रैंडम जे एस बूलियन्स जेएस तुलना जे एस शर्तें जे एस स्विच जेएस लूप फॉर In . के लिए JS लूप ओएफ के लिए जेएस लूप जेएस लूप जबकि जेएस ब्रेक जेएस Iterables जेएस सेट जेएस मैप्स जेएस टाइपोफ जे एस प्रकार रूपांतरण जेएस बिटवाइज जेएस रेगएक्सपी जे एस त्रुटियाँ जेएस स्कोप जे एस उत्थापन जेएस सख्त मोड जेएस यह कीवर्ड जेएस एरो फंक्शन जेएस क्लासेस जेएस JSON जेएस डिबगिंग जेएस स्टाइल गाइड जेएस सर्वोत्तम अभ्यास जेएस गलतियाँ जेएस प्रदर्शन जेएस आरक्षित शब्द

जेएस संस्करण

जेएस संस्करण जेएस 2009 (ES5) जेएस 2015 (ईएस6) जेएस 2016 जेएस 2017 जेएस 2018 जेएस आईई / एज जेएस इतिहास

जेएस ऑब्जेक्ट्स

वस्तु परिभाषाएँ वस्तु गुण वस्तु के तरीके वस्तु प्रदर्शन ऑब्जेक्ट एक्सेसर्स वस्तु निर्माता वस्तु प्रोटोटाइप वस्तु पुनरावर्तनीय वस्तु समूह वस्तु मानचित्र वस्तु संदर्भ

जे एस कार्य

फ़ंक्शन परिभाषाएँ फंक्शन पैरामीटर्स समारोह आमंत्रण फंक्शन कॉल समारोह लागू करें फंक्शन क्लोजर

जेएस क्लासेस

कक्षा परिचय वर्ग वंशानुक्रम क्लास स्टेटिक

जे एस एसिंक

जेएस कॉलबैक जे एस अतुल्यकालिक जे एस वादा जे एस एसिंक/प्रतीक्षा

जेएस एचटीएमएल डोम

डोम परिचय डोम तरीके डोम दस्तावेज़ डोम तत्व डोम एचटीएमएल डोम फॉर्म डोम सीएसएस डोम एनिमेशन डोम घटनाक्रम डोम इवेंट श्रोता डोम नेविगेशन डोम नोड्स डोम संग्रह डोम नोड सूचियाँ

जेएस ब्राउज़र बीओएम

जेएस विंडो जेएस स्क्रीन जेएस स्थान जेएस इतिहास जेएस नेविगेटर जेएस पॉपअप अलर्ट जेएस टाइमिंग जे एस कुकीज़

जेएस वेब एपीआई

वेब एपीआई परिचय वेब फॉर्म एपीआई वेब इतिहास एपीआई वेब संग्रहण API वेब वर्कर एपीआई वेब फ़ेच एपीआई वेब जियोलोकेशन एपीआई

जे एस अजाक्स

AJAX परिचय अजाक्स एक्सएमएलएचटीपी अजाक्स अनुरोध अजाक्स प्रतिक्रिया अजाक्स एक्सएमएल फ़ाइल अजाक्स पीएचपी अजाक्स एएसपी AJAX डेटाबेस अजाक्स अनुप्रयोग अजाक्स उदाहरण

जेएस JSON

JSON परिचय JSON सिंटैक्स जेएसओएन बनाम एक्सएमएल JSON डेटा प्रकार JSON पार्स JSON स्ट्रिंगिफ़ाई JSON ऑब्जेक्ट्स JSON सरणियाँ JSON सर्वर जेएसओएन पीएचपी जेएसओएन एचटीएमएल जेएसओएन जेएसओएनपी

जेएस बनाम jQuery

jQuery चयनकर्ता jQuery एचटीएमएल jQuery सीएसएस jQuery डोम

जेएस ग्राफिक्स

जेएस ग्राफिक्स जेएस कैनवास जे एस प्लॉटली जेएस चार्ट.जेएस जेएस गूगल चार्ट जेएस डी3.जेएस

जेएस उदाहरण

जेएस उदाहरण जेएस एचटीएमएल डोम जेएस एचटीएमएल इनपुट जेएस एचटीएमएल ऑब्जेक्ट्स जेएस एचटीएमएल इवेंट्स जेएस ब्राउज़र जे एस संपादक जे एस व्यायाम जे एस प्रश्नोत्तरी जेएस प्रमाणपत्र

जे एस संदर्भ

जावास्क्रिप्ट ऑब्जेक्ट्स एचटीएमएल डोम ऑब्जेक्ट्स


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


उदाहरण

function Person(first, last, age, eye) {
  this.firstName = first;
  this.lastName = last;
  this.age = age;
  this.eyeColor = eye;
}

कंस्ट्रक्टर फ़ंक्शंस को अपर-केस पहले अक्षर के साथ नाम देना अच्छा अभ्यास माना जाता है।


वस्तु प्रकार (ब्लूप्रिंट) (कक्षाएं)

पिछले अध्यायों के उदाहरण सीमित हैं। वे केवल एकल वस्तुएं बनाते हैं।

कभी-कभी हमें एक ही "प्रकार" के कई ऑब्जेक्ट बनाने के लिए " ब्लूप्रिंट " की आवश्यकता होती है।

"ऑब्जेक्ट प्रकार" बनाने का तरीका ऑब्जेक्ट कन्स्ट्रक्टर फ़ंक्शन का उपयोग करना है ।

ऊपर के उदाहरण में, function Person()एक ऑब्जेक्ट कंस्ट्रक्टर फ़ंक्शन है।

newकंस्ट्रक्टर फ़ंक्शन को कीवर्ड के साथ कॉल करके एक ही प्रकार की वस्तुएं बनाई जाती हैं :

const myFather = new Person("John", "Doe", 50, "blue");
const myMother = new Person("Sally", "Rally", 48, "green");


यह कीवर्ड _

जावास्क्रिप्ट में, जिस वस्तु को कहा जाता thisहै वह वह वस्तु है जो कोड का "मालिक" है।

का मान this, जब किसी वस्तु में प्रयोग किया जाता है, तो वह वस्तु ही होती है।

एक कंस्ट्रक्टर में फ़ंक्शन thisका कोई मान नहीं होता है। यह नई वस्तु के लिए एक विकल्प है। thisजब कोई नई वस्तु बनाई जाती है तो वसीयत का मान नई वस्तु बन जाता है।

ध्यान दें कि thisएक चर नहीं है। यह एक कीवर्ड है। आप का मान नहीं बदल सकते this


किसी वस्तु में संपत्ति जोड़ना

किसी मौजूदा ऑब्जेक्ट में नई प्रॉपर्टी जोड़ना आसान है:

उदाहरण

myFather.nationality = "English";

संपत्ति मेरे पिता में जोड़ दी जाएगी। मेरी माँ को नहीं। (किसी अन्य व्यक्ति की वस्तुओं के लिए नहीं)।


किसी वस्तु में एक विधि जोड़ना

किसी मौजूदा ऑब्जेक्ट में नई विधि जोड़ना आसान है:

उदाहरण

myFather.name = function () {
  return this.firstName + " " + this.lastName;
};

विधि myFather में जोड़ी जाएगी। मेरी माँ को नहीं। (किसी अन्य व्यक्ति की वस्तुओं के लिए नहीं)।


एक निर्माता के लिए एक संपत्ति जोड़ना

आप किसी ऑब्जेक्ट कंस्ट्रक्टर में उसी तरह एक नई प्रॉपर्टी नहीं जोड़ सकते जैसे आप किसी मौजूदा ऑब्जेक्ट में एक नई प्रॉपर्टी जोड़ते हैं:

उदाहरण

Person.nationality = "English";

कंस्ट्रक्टर में एक नई संपत्ति जोड़ने के लिए, आपको इसे कंस्ट्रक्टर फ़ंक्शन में जोड़ना होगा:

उदाहरण

function Person(first, last, age, eyecolor) {
  this.firstName = first;
  this.lastName = last;
  this.age = age;
  this.eyeColor = eyecolor;
  this.nationality = "English";
}

इस तरह ऑब्जेक्ट गुणों में डिफ़ॉल्ट मान हो सकते हैं।


एक निर्माता के लिए एक विधि जोड़ना

आपका कंस्ट्रक्टर फ़ंक्शन विधियों को भी परिभाषित कर सकता है:

उदाहरण

function Person(first, last, age, eyecolor) {
  this.firstName = first;
  this.lastName = last;
  this.age = age;
  this.eyeColor = eyecolor;
  this.name = function() {
    return this.firstName + " " + this.lastName;
  };
}

आप किसी ऑब्जेक्ट कंस्ट्रक्टर में उसी तरह एक नई विधि नहीं जोड़ सकते जैसे आप किसी मौजूदा ऑब्जेक्ट में एक नई विधि जोड़ते हैं।

किसी ऑब्जेक्ट कंस्ट्रक्टर में विधियों को जोड़ना कंस्ट्रक्टर फ़ंक्शन के अंदर किया जाना चाहिए:

उदाहरण

function Person(firstName, lastName, age, eyeColor) {
  this.firstName = firstName; 
  this.lastName = lastName;
  this.age = age;
  this.eyeColor = eyeColor;
  this.changeName = function (name) {
    this.lastName = name;
  };
}

चेंजनाम () फ़ंक्शन व्यक्ति की अंतिम नाम संपत्ति को नाम का मान निर्दिष्ट करता है।

अब आप कोशिश कर सकते हैं:

myMother.changeName("Doe");

जावास्क्रिप्ट जानता है कि आप किस व्यक्ति के बारे में बात कर रहे हैं, इसे myMother के साथ " प्रतिस्थापित " करके


बिल्ट-इन जावास्क्रिप्ट कंस्ट्रक्टर्स

जावास्क्रिप्ट में देशी वस्तुओं के लिए बिल्ट-इन कंस्ट्रक्टर हैं:

new String()    // A new String object
new Number()    // A new Number object
new Boolean()   // A new Boolean object
new Object()    // A new Object object
new Array()     // A new Array object
new RegExp()    // A new RegExp object
new Function()  // A new Function object
new Date()      // A new Date object

Math()वस्तु सूची में नहीं है Mathएक वैश्विक वस्तु है। पर newकीवर्ड का उपयोग नहीं किया जा सकता है Math


क्या तुम्हें पता था?

जैसा कि आप ऊपर देख सकते हैं, जावास्क्रिप्ट में आदिम डेटा प्रकार String, Number, और के ऑब्जेक्ट संस्करण हैं Booleanलेकिन जटिल वस्तुओं को बनाने का कोई कारण नहीं है। आदिम मूल्य बहुत तेज हैं:

""के बजाय स्ट्रिंग अक्षर का प्रयोग करें new String()

50के बजाय संख्या अक्षर का प्रयोग करें new Number()

true / falseके बजाय बूलियन अक्षर का प्रयोग करें new Boolean()

{}के बजाय वस्तु शाब्दिक का प्रयोग करें new Object()

[]के बजाय सरणी अक्षर का प्रयोग करें new Array()

/()/के बजाय पैटर्न अक्षर का प्रयोग करें new RegExp()

() {}के बजाय फ़ंक्शन एक्सप्रेशन का उपयोग करें new Function()

उदाहरण

let x1 = "";             // new primitive string
let x2 = 0;              // new primitive number
let x3 = false;          // new primitive boolean

const x4 = {};           // new Object object
const x5 = [];           // new Array object
const x6 = /()/          // new RegExp object
const x7 = function(){}; // new function

स्ट्रिंग ऑब्जेक्ट्स

आम तौर पर, तार आदिम के रूप में बनाए जाते हैं:firstName = "John"

लेकिन स्ट्रिंग्स को newकीवर्ड का उपयोग करके ऑब्जेक्ट के रूप में भी बनाया जा सकता है:
firstName = new String("John")

जेएस स्ट्रिंग्स अध्याय में जानें कि स्ट्रिंग्स को ऑब्जेक्ट के रूप में क्यों नहीं बनाया जाना चाहिए


संख्या वस्तु

आम तौर पर, संख्याएं आदिम के रूप में बनाई जाती हैं:x = 30

newलेकिन संख्याओं को कीवर्ड का उपयोग करके ऑब्जेक्ट के रूप में भी बनाया जा सकता है :
x = new Number(30)

JS Numbers अध्याय में जानें कि संख्याओं को वस्तु के रूप में क्यों नहीं बनाया जाना चाहिए


बूलियन ऑब्जेक्ट्स

आम तौर पर, बूलियन आदिम के रूप में बनाए जाते हैं:x = false

newलेकिन बूलियन को कीवर्ड का उपयोग करके ऑब्जेक्ट के रूप में भी बनाया जा सकता है :
x = new Boolean(false)

JS Booleans अध्याय में जानें कि बूलियन्स को ऑब्जेक्ट के रूप में क्यों नहीं बनाया जाना चाहिए