تعریف شیء JavaScript
- صفحه قبلی تاریخچه JS
- صفحه بعدی ویژگیهای اشیاء JS
کلاس پیشنهادی:
در جاوااسکریپت، شیء پادشاه هستند. اگر شما شیء را درک کنید، شما جاوااسکریپت را درک کردهاید.
- در جاوااسکریپت، تقریباً همه چیز شیء هستند. رشتهها شیء هستند (اگر با 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 | 62 |
eyeColor | blue |
اشیاء نوشته شده به صورت نام-مقدار مانند:
- آرایههای مرتبط در پیاچپی
- دیکشنری در پایتون
- تختههای هش در C
- مپهای هش در Java
- تقسیمبندیهای Ruby و Perl
روشهای شیء
روشها روشهایی هستند که میتوانند روی شیء اجرا شوندعمل.
ویژگیهای شیء میتواند مقادیر ابتدایی، دیگر شیءها و توابع باشند.
روشهای شیءشاملتعریف تابعنامگذاری ویژگیهای شیء.
ویژگی | ارزش |
---|---|
firstName | Bill |
lastName | Gates |
age | 62 |
eyeColor | blue |
fullName | function() {return this.firstName + " " + this.lastName;} |
شیء JavaScript یک حاوی نامگذاری شده از ارزشها به نام ویژگیها و روشها است.
در فصل بعدی بیشتر درباره روشها یاد خواهید گرفت.
ایجاد شیء JavaScript
با استفاده از JavaScript، میتوانید شیء خود را تعریف و ایجاد کنید.
روشهای مختلفی برای ایجاد شیء وجود دارد:
- تعریف و ایجاد یک شیء، از طریق نوشتار نصبی استفاده کنید.
- تعریف و ایجاد یک شیء، از طریق کلمه کلیدی new.
- constructor تعریف شیء، سپس شیء نوعی ساختار ایجاد کنید.
در 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 استفاده کنید
مثال زیر نیز یک شیء جدید 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 اینطور هستند.
- صفحه قبلی تاریخچه JS
- صفحه بعدی ویژگیهای اشیاء JS