JavaScript ਆਬਜੈਕਟ ਕਨਸਟਰਕਟਰ
- ਪਿਛਲਾ ਪੰਨਾ JS ਆਬਜੈਕਟ ਐਕਸੈਸਰ
- ਅਗਲਾ ਪੰਨਾ JS ਆਬਜੈਕਟ ਪ੍ਰਾਇਮਟਰੀ
ਇੱਕ ਉਦਾਹਰਣ
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 ਲੋਜਿਕਲਇਸ ਚੈਪਟਰ ਵਿੱਚ ਸਿੱਖੋ ਕਿ ਕਿਉਂ ਲੋਜਿਕਲ ਵੈਲਿਊ ਨੂੰ ਆਬਜੈਕਟ ਵਜੋਂ ਬਣਾਉਣਾ ਨਹੀਂ ਚਾਹੀਦਾ ਹੈ。
- ਪਿਛਲਾ ਪੰਨਾ JS ਆਬਜੈਕਟ ਐਕਸੈਸਰ
- ਅਗਲਾ ਪੰਨਾ JS ਆਬਜੈਕਟ ਪ੍ਰਾਇਮਟਰੀ