جسٹ سکریپٹ کا آوبجیکٹ تعریف

کلاس پیشنهادی:

در جاوااسکریپت، اجسام پادشاه هستند. اگر شما اجسام را درک کنید، شما جاوااسکریپت را درک کرده‌اید.

  • در جاوااسکریپت، تقریباً "همه چیز" اجسام هستند. رشته‌ها اجسام هستند (اگر با new
  • بولین‌ها اجسام هستند (اگر با رشته‌ها اجسام هستند (اگر با new
  • اعداد اجسام هستند (اگر با رشته‌ها اجسام هستند (اگر با new
  • کلمات کلیدی تعریف شده)
  • تاریخ همیشه اجسام هستند
  • عملیات ریاضی همیشه اجسام هستند
  • عبارت‌های正則 همیشه اجسام هستند
  • آرایه‌ها همیشه اجسام هستند
  • توابع همیشه اجسام هستند

اجسام همیشه اجسام هستند

تمام ارزش‌های جاوااسکریپت، به جز ارزش‌های اولیه، اجسام هستند.

ارزش‌های اولیه جاوااسکریپتارزش‌های اولیه

این به معنای ارقامی است که دارای ویژگی‌ها یا روش‌ها نیستند.نوع داده‌های اولیه

این به معنای داده‌هایی است که دارای ارزش اولیه هستند.

  • "Hello"
  • 3.14
  • false
  • false همیشه false است
  • (اجسام) null همیشه null است

جاوااسکریپت 5 نوع داده اولیه تعریف کرده است:

ارزش‌های اولیه ثابت هستند (آنها کدگذاری شده‌اند، بنابراین قابل تغییر نیستند).

قیمتیں فرض کنید x = 3.14، شما می‌توانید ارزش x را تغییر دهید. اما شما نمی‌توانید ارزش 3.14 را تغییر دهید. نوع
نوتیک‌ها "Hello" string
"Hello" همیشه "Hello" است 3.14 number
3.14 همیشه 3.14 است false true
true همیشه true است false boolean
false همیشه false است false همیشه false است null
(اجسام) null همیشه null است (اجسام) null همیشه null است undefined

undefined همیشه undefined است

اشیاء شامل متغیرهایی هستند که متغیرها را در بر می‌گیرند

مثال

متغیرهای جاوااسکریپت می‌توانند ارزش‌های یکتا را در بر گیرند:

سعی کنید خودتان امتحان کنید

var person = "Bill Gates";

اشیاء نیز متغیر هستند. اما اشیاء می‌توانند تعداد زیادی ارزش داشته باشند.ارزش‌ها بر اساسنام : ارزش

مثال

var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};

سعی کنید خودتان امتحان کنید

اشیاء جاوااسکریپت به صورت نام و ارزش نوشته می‌شوند (نام و ارزش با کاما جدا می‌شوند).نام و ارزشکلیه.

ویژگی‌های اشیاء

نام و ارزش‌های نامیده شده در اشیاء جاوااسکریپت، به عنوان:قیمتیں.

قیمتیں قیمتیں
قیمتیں قیمتیں
قیمتیں firstName
Bill lastName
Gates age

اشیاء نوشته شده به نام و ارزش مانند:

  • مجمع‌آوری مرتبط در پی‌اچ‌پی
  • پائین‌نویسی دکشنری در پایتون
  • C میں هش تیبل
  • Java میں هش ماپنگ
  • Ruby اور Perl میں هش

قیمتیں

قیمتیںقیمتیں.

قیمتیں

قیمتیںقیمتیںقیمتیںقیمتیں

قیمتیں قیمتیں
قیمتیں قیمتیں
قیمتیں firstName
Bill lastName
Gates age
62 eyeColor

blue

fullName

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

JavaScript اوبجیکٹ کو مقامات اور طویل ناموں کا کارکن سے بنایا جاتا ہے۔

آپ وچار میں بروقت متعدد طریقیں سیکھیں گے۔

  • JavaScript اوبجیکٹ بنانے
  • JavaScript کے ذریعے، آپ اپنے اوبجیکٹ بن سکتے ہیں اور تخلیق کرسکتے ہیں。
  • کسی بھی طرح سے اوبجیکٹ بنانے کی متعدد طریقیں ہیں:

اوبجیکٹ کی تعریف کر سکتا ہے، پھر تعریف شدہ نوعیت کے اوبجیکٹ بناسکتا ہے。 ECMAScript 5 میں، اس کے علاوہ، ساتھ میں فونکشن Object.create()

استعمال کیجئے کہ وہ اوبجیکٹ بنائیں。

یہ اوبجیکٹ بنانے کا سادا طریقہ ہے。

استعمال کیجئے کہ وہ اوبجیکٹ کا تعریف اور تخلیق کریں جو ایک سطر میں کیا جاسکتا ہے。

اوبجیکٹ کی لکچر یعنی دوسرے کروشی {} میں کا نام:مقدار کی جگہ (مثلاً age:62) میں

یہ مثال بھی چار اقدار والا نئا JavaScript اوبجیکٹ بناتا ہے:

مثال

var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};

سعی کنید خودتان امتحان کنید

خالی ساحات اور وارپوس نہیں اہم ہیں۔ اوبجیکٹ کی تعریف کسی بھی سطر میں بند ہو سکتی ہے:

مثال

var person = {
    firstName:"Bill",
    lastName:"Gates",
    age:62,
    eyeColor:"blue"
};

سعی کنید خودتان امتحان کنید

JavaScript کی کلیدی فاصلہ new استعمال کریں

یہ مثال بھی چار اقدار والا نئا JavaScript اوبجیکٹ بناتا ہے:

مثال

var person = new Object();
person.firstName = "Bill";
person.lastName = "Gates";
person.age = 50;
person.eyeColor = "blue"; 

سعی کنید خودتان امتحان کنید

باری دو مثال کا نتیجہ ایک سے زیادہ نہیں ہوتا ہے۔ استعمال نہ کریں new Object().

به دلیل سادگی، خوانایی و سرعت اجرا، لطفاً از روش اولین ایجاد (روش نوشتن اوبجکت) استفاده کنید.

اوبجکت‌های JavaScript قابل تغییر هستند

اوبجکت‌ها قابل تغییر هستند: آنها از طریق مراجعه به آدرس (رفرنس) به آدرس‌ها اشاره می‌کنند، نه از طریق مقادیر.

اگر person یک اوبجکت باشد، دستور زیر باعث ایجاد کپی person نمی‌شود:

var x = person;  // این باعث ایجاد کپی person نمی‌شود.

اوبجکت x نه کپی person. آناین person.x و person یک اوبجکت مشابه هستند.

هرگونه تغییر در x باعث تغییر person می‌شود، زیرا x و person اشیاء مشابهی هستند.

مثال

var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"}
var x = person;
x.age = 10;           // این تغییر هم x.age و person.age را تغییر می‌دهد

سعی کنید خودتان امتحان کنید

نکته:متغیرهای JavaScript قابل تغییر نیستند. فقط اوبجکت‌های JavaScript اینطور هستند.