JavaScript ਆਬਜੈਕਟ ਕਨਸਟਰਕਟਰ

ਇੱਕ ਉਦਾਹਰਣ

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

ਆਪਣੇ ਤੌਰ 'ਤੇ ਕੋਸ਼ਿਸ਼ ਕਰੋ

ਨਿਰਮਾਣ ਕਰਨ ਵਾਲੀ ਫੰਕਸ਼ਨ ਨੂੰ ਬੜੇ ਹਿਰਦੇ ਦੀ ਲਿਖਤ ਨਾਲ ਨਾਮ ਦੇਣਾ ਚੰਗਾ ਹੈ。

ਬਾਹਰੀ ਤਰੀਕਾ (ਬਲੂਪਰਿੰਟ) (ਵਰਗ)

ਪਿਛਲੇ ਖੰਡ ਦੇ ਉਦਾਹਰਣ ਸੀਮਤ ਹਨ। ਉਹ ਸਿਰਫ ਇੱਕ ਬਾਹਰਾ ਬਣਾਉਂਦੇ ਹਨ。

ਸਮੇਂ ਹੈ ਜਦੋਂ ਅਸੀਂ ਕਈ ਬਾਹਰੀਆਂ ਦੇ ਇੱਕ ਜਿਸ ਤਰ੍ਹਾਂ ਦੇ ਬਣਾਉਣ ਦੀ ਜ਼ਰੂਰਤ ਹੁੰਦੀ ਹੈਬਲੂਪਰਿੰਟ

ਇੱਕ ‘ਬਾਹਰੀ ਤਰੀਕਾ’ ਬਣਾਉਣ ਦਾ ਤਰੀਕਾ ਹੈ ਇਸ ਤਰ੍ਹਾਂ ਦੇ ਬਾਹਰੀਆਂ ਬਣਾਉਣ ਲਈਬਾਹਰੀ ਦੀ ਨਿਰਮਾਣ ਕਰਨ ਵਾਲੀ ਫੰਕਸ਼ਨ

ਉੱਪਰੋਕਤ ਉਦਾਹਰਣ ਵਿੱਚਫੰਕਸ਼ਨ Person() ਹੈ ਬਾਹਰੀ ਦੀ ਨਿਰਮਾਣ ਕਰਨ ਵਾਲੀ ਫੰਕਸ਼ਨ

ਦੁਆਰਾ new ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਕਿ ਨਿਰਮਾਣ ਕਰਨ ਵਾਲੇ ਕੰਮ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇੱਕ ਜਿਸ ਤਰ੍ਹਾਂ ਦਾ ਬਾਹਰਾ ਬਣਾਇਆ ਜਾਵੇ

var myFather = new Person("Bill", "Gates", 62, "blue");
var myMother = new Person("Steve", "Jobs", 56, "green");

ਆਪਣੇ ਤੌਰ 'ਤੇ ਕੋਸ਼ਿਸ਼ ਕਰੋ

this ਕੀਤਾ ਜਾਂਦਾ ਹੈ

ਜਿਸ ਨੂੰ JavaScript ਵਿੱਚ this ਦੇ ਚੀਜ਼ਾਂ ਹਨ ਕੋਡ ਦੇ ‘ਮਲਕੀ’

this ਦਾ ਮੁੱਲ ਜਦੋਂ ਆਪਣੇ ਆਪ ਵਿੱਚ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ ਤਾਂ ਉਹ ਆਪਣਾ ਆਪ ਹੀ ਹੈ।

ਨਿਰਮਾਣ ਕਰਨ ਵਾਲੇ ਕੰਮ ਵਿੱਚthis ਕੋਈ ਮੁੱਲ ਨਹੀਂ ਹੈ। ਇਹ ਨਵੇਂ ਬਾਹਰੀ ਦੀ ਥਾਂ ਦਿੰਦਾ ਹੈ। ਜਦੋਂ ਇੱਕ ਨਵਾਂ ਬਾਹਰਾ ਬਣਾਇਆ ਜਾਂਦਾ ਹੈ ਤਾਂ this ਦਾ ਮੁੱਲ ਇਸ ਨਵੇਂ ਬਾਹਰੀ ਨੂੰ ਬਣਾਵੇਗਾ。

لطفاً دیکھیئے this یہ نہیں متغیر ہے، بلکہ یہ کلیدی ورد ہے۔ آپ نہیں کرسکتے کہ آپ this کا نیم نا بدل سکتے ہیں.

موجود اپریتی پر اپریتی نیم نا دینا

آپ نہیں کرسکتے کہ آپ نئی اپریتی کو کسی موجود اپریتی پر نیم نا دیندا:

ਇੱਕ ਉਦਾਹਰਣ

myFather.nationality = "English";

ਆਪਣੇ ਤੌਰ 'ਤੇ ਕੋਸ਼ਿਸ਼ ਕਰੋ

نئی اپریتی myFather پر نیم نا دینی گئی نہیں، myMother نہیں، بھی کسی دوسری person اپریتی پر نیم نا دینی گئی.

موجود اپریتی پر فنکشن نیم نا دینا

آپ نہیں کرسکتے کہ آپ نئی فنکشن کو کسی موجود اپریتی پر نیم نا دیندا:

ਇੱਕ ਉਦਾਹਰਣ

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

ਆਪਣੇ ਤੌਰ 'ਤੇ ਕੋਸ਼ਿਸ਼ ਕਰੋ

نئی فنکشن myFather پر نیم نا دینی گئی نہیں، myMother نہیں، بھی کسی دوسری person اپریتی پر نیم نا دینی گئی.

کونسکٹر فنکشن میں اپریتی نیم نا دینا

آپ نہیں کرسکتے کہ آپ نئی اپریتی کو آپ کونسکٹر فنکشن پر نیم نا دیندا.

ਇੱਕ ਉਦਾਹਰਣ

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;
    };
}

changeName() فنکشن نیم نا کو person کی lastName کی اپریتی پر نیم نا دیندا.

ਹੁਣ ਤੁਸੀਂ ਸਿਰਜਣ ਕਰ ਸਕਦੇ ਹੋ:

myMother.changeName("Jobs");

ਆਪਣੇ ਤੌਰ 'ਤੇ ਕੋਸ਼ਿਸ਼ ਕਰੋ

ਦੁਆਰਾ ਇਸ ਵਰਤੋਂ myMother ਬਦਲੇਂ thisਤੁਸੀਂ ਜਿਸ ਪਰਸੋਨ ਨੂੰ ਹੁਣ ਹੱਥ ਵਿੱਚ ਰੱਖ ਰਹੇ ਹੋ ਉਸ ਨੂੰ ਜਾਣ ਸਕਦੇ ਹੋ ਜਾਵਾਸਕ੍ਰਿਪਟ ਕਰਦਾ ਹੈ。

ਬੁਨਿਆਦੀ ਜਾਵਾਸਕ੍ਰਿਪਟ ਕੰਸਟਰਕਟਰ

ਜਾਵਾਸਕ੍ਰਿਪਟ ਪ੍ਰਾਥਮਿਕ ਆਬੋਹਵਾ ਲਈ ਕੰਸਟਰਕਟਰ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ:

ਇੱਕ ਉਦਾਹਰਣ

var x1 = new Object();    // ਇੱਕ ਨਵਾਂ Object ਆਬੋਹਵਾ
var x2 = new String();    // ਇੱਕ ਨਵਾਂ String ਆਬੋਹਵਾ
var x3 = new Number();    // ਇੱਕ ਨਵਾਂ Number ਆਬੋਹਵਾ
var x4 = new Boolean();   // ਇੱਕ ਨਵਾਂ Boolean ਆਬੋਹਵਾ
var x5 = new Array();     // ਇੱਕ ਨਵਾਂ Array ਆਬੋਹਵਾ
var x6 = new RegExp();    // ਇੱਕ ਨਵਾਂ RegExp ਆਬੋਹਵਾ
var x7 = new Function();  // ਇੱਕ ਨਵਾਂ Function ਆਬੋਹਵਾ
var x8 = new Date();      // ਇੱਕ ਨਵਾਂ Date ਆਬੋਹਵਾ

ਆਪਣੇ ਤੌਰ 'ਤੇ ਕੋਸ਼ਿਸ਼ ਕਰੋ

Math() ਆਬੋਹਵਾ ਇਸ ਵਿੱਚ ਨਹੀਂ ਹਨ। ਮੈਥ ਗਲੋਬਲ ਆਬੋਹਵਾ ਹੈ。new ਕੀਵਾਰਡ ਮੈਥ ਵਿੱਚ ਵਰਤੇ ਨਹੀਂ ਜਾ ਸਕਦੇ。

ਕੀ ਤੁਸੀਂ ਜਾਣਦੇ ਹੋ?

ਜਿਵੇਂ ਉੱਪਰ ਦੇਖਿਆ ਗਿਆ ਹੈ ਜਾਵਾਸਕ੍ਰਿਪਟ ਪ੍ਰਾਥਮਿਕ ਡਾਟਾ ਟਾਈਪ ਦੇ ਸਟਰਿੰਗ, ਨੰਬਰ ਅਤੇ ਬੋਲੀਨ ਦੇ ਆਪਣੇ ਆਪ ਦੇ ਆਬੋਹਵਾਂ ਨੂੰ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। ਪਰ ਕੋਈ ਕਾਰਨ ਨਹੀਂ ਹੈ ਕਿ ਕਿਸੇ ਜਟਿਲ ਆਬੋਹਵਾ ਨੂੰ ਬਣਾਇਆ ਜਾਵੇ। ਪ੍ਰਾਥਮਿਕ ਮੁੱਲ ਤੇਜ਼ ਹਨ!

ਆਪਣੇ ਲਈ ਆਪਣੇ ਆਪ ਲੀਚਲ ਦੀ ਵਰਤੋਂ ਕਰੋ {} ਬਦਲੇਂ new Object()

ਸਟਰਿੰਗ ਲੀਚਲ ਦੀ ਵਰਤੋਂ ਕਰੋ "" ਬਦਲੇਂ new String()

ਸੰਖਿਆ ਲੀਚਲ ਨਾਲ ਬਦਲੋ Number()

ਬੋਲੀਨ ਲੀਚਲ ਨਾਲ ਬਦਲੋ new Boolean()

ਐਕਸਕੇਸ ਲੀਚਲ ਦੀ ਵਰਤੋਂ ਕਰੋ [] ਬਦਲੇਂ new Array()

ਮੋਡਲ ਲੀਚਲ ਨਾਲ ਬਦਲੋ new RexExp()

ਫੰਕਸ਼ਨ ਐਕਸਪ੍ਰੈਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰੋ () {} ਬਦਲੇਂ new Function()

ਇੱਕ ਉਦਾਹਰਣ

var x1 = {};            // 新对象
var x2 = "";            // 新的原始字符串
var x3 = 0;             // 新的原始数值
var x4 = false;         // 新的原始逻辑值
var x5 = [];            // ਨਵਾਂ ਐਕਸੈਕਟ ਆਬਜੈਕਟ
var x6 = /()/           // ਨਵਾਂ ਪੈਟਰਨ ਆਬਜੈਕਟ
var x7 = function(){};  // ਨਵਾਂ ਫੰਕਸ਼ਨ ਆਬਜੈਕਟ

ਆਪਣੇ ਤੌਰ 'ਤੇ ਕੋਸ਼ਿਸ਼ ਕਰੋ

ਸਟਰਿੰਗ ਆਬਜੈਕਟ

ਆਮ ਤੌਰ 'ਤੇ, ਸਟਰਿੰਗ ਮੂਲ ਮੁੱਲ ਵਜੋਂ ਬਣਾਏ ਜਾਂਦੇ ਹਨ: var firstName = "Bill"

ਪਰ ਵੀ ਇਸ ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ: new ਸਟਰਿੰਗ ਆਬਜੈਕਟ ਬਣਾਉਣ ਲਈ ਕੀਵਾਰਡ: var firstName = new String("Bill")

ਕਿਰਪਾ ਕਰਕੇ JS ਸਟਰਿੰਗਇਸ ਚੈਪਟਰ ਵਿੱਚ ਸਿੱਖੋ ਕਿ ਕਿਉਂ ਸਟਰਿੰਗ ਨੂੰ ਆਬਜੈਕਟ ਵਜੋਂ ਬਣਾਉਣਾ ਨਹੀਂ ਚਾਹੀਦਾ ਹੈ。

ਨੰਬਰ ਆਬਜੈਕਟ

ਆਮ ਤੌਰ 'ਤੇ, ਨੰਬਰ ਮੂਲ ਮੁੱਲ ਵਜੋਂ ਬਣਾਏ ਜਾਂਦੇ ਹਨ: var x = 456

ਪਰ ਵੀ ਇਸ ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ: new ਨੰਬਰ ਆਬਜੈਕਟ ਬਣਾਉਣ ਲਈ ਕੀਵਾਰਡ: var x = new Number(456)

ਕਿਰਪਾ ਕਰਕੇ JS ਨੰਬਰਇਸ ਚੈਪਟਰ ਵਿੱਚ ਸਿੱਖੋ ਕਿ ਕਿਉਂ ਨੰਬਰ ਨੂੰ ਆਬਜੈਕਟ ਵਜੋਂ ਬਣਾਉਣਾ ਨਹੀਂ ਚਾਹੀਦਾ ਹੈ。

ਬੋਲੀਨ ਆਬਜੈਕਟ

ਆਮ ਤੌਰ 'ਤੇ, ਲੋਜਿਕਲ ਵੈਲਿਊ ਮੂਲ ਮੁੱਲ ਵਜੋਂ ਬਣਾਏ ਜਾਂਦੇ ਹਨ: var x = false

ਪਰ ਵੀ ਇਸ ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ: new ਲੋਜਿਕਲ ਆਬਜੈਕਟ ਬਣਾਉਣ ਲਈ ਕੀਵਾਰਡ: var x = new Boolean(false)

ਕਿਰਪਾ ਕਰਕੇ JS ਲੋਜਿਕਲਇਸ ਚੈਪਟਰ ਵਿੱਚ ਸਿੱਖੋ ਕਿ ਕਿਉਂ ਲੋਜਿਕਲ ਵੈਲਿਊ ਨੂੰ ਆਬਜੈਕਟ ਵਜੋਂ ਬਣਾਉਣਾ ਨਹੀਂ ਚਾਹੀਦਾ ਹੈ。