شیء در JavaScript

شیء، ویژگی و روش‌های واقعی زندگی

در زندگی واقعی، خودرو یکشیء.

خودروها دارای ویژگی‌هایی مانند وزن و رنگ هستندویژگی، و نیز عمل‌هایی مانند شروع و توقف داردمетод:

شیء ویژگی مетод

car.name = porsche

car.model = 911

car.length = 4499mm

car.color = white

car.start()

car.drive()

car.brake()

car.stop()

تمام خودروهاویژگیدارند، اما مقدارهای ویژگی‌ها از خودرو به خودرو متفاوت است.

تمام خودروهامетод، اما روش‌ها در زمان‌های مختلف اجرا می‌شوند.

شیء در JavaScript

شما قبلاً یاد گرفته‌اید که متغیرهای JavaScript حامل مقدارهای داده هستند.

این کد یکمقدار یکتا(porsche) به متغیر carمتغیر:

var car = "porsche";

به طور شخصی امتحان کنید

شیء نیز متغیر است. اما شیء شامل مقدارهای بیشتری است.

این کدمقدارهای چندگانه(porsche, 911, white) به متغیر carمتغیر:

var car = {type:"porsche", model:"911", color:"white"};

به طور شخصی امتحان کنید

مقدار بهنام:مقداربا استفاده از روش نام:مقدار نوشته می‌شود (نام و مقدار با کاما جدا می‌شوند).

شیء JavaScript به صورتمقدار نام‌گذاری شدهحامل است.

ویژگی شیء

نام:مقدار به عنوانویژگی.

var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};
ویژگی مقدار ویژگی
firstName Bill
lastName Gates
age 62
eyeColor blue

مетод شیء

شیء نیز می‌تواندمетод.

مетодی است که بر روی شیء اجرا می‌شودعمل.

مетод بهتعریف تابعدر ویژگی ذخیره می‌شود.

ویژگی مقدار ویژگی
firstName Bill
lastName Gates
age 62
eyeColor blue
fullName function() {return this.firstName + " " + this.lastName;}

مетод به عنوان ویژگی برای ذخیره کردن توابع است.

مثال

var person = {
  firstName: ", Bill",
  lastName : ", Gates",
  id       : 678,
  fullName : function() {
    return this.firstName + " " + this.lastName;
  }
};

کلمه کلیدی this

در تعریف تابع،this مستند به "مالک" این تابع است.

در مثال بالا،this به معنای "دارنده" تابع fullName است شیء person.

به عبارت دیگر،this.firstName معنای معنای object thisویژگی firstName

لطفاً به کلمه کلیدی this در JSدر این فصل بیشتر درباره کلمه کلیدی this یاد می‌گیریم.

تعریف شیء

ما یک شیء JavaScript تعریف کرده‌ایم (ایجاد کرده‌ایم):

مثال

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

به طور شخصی امتحان کنید

حالت‌های خالی و خطوط شکسته مجاز هستند. تعریف شیء می‌تواند از خطوط مختلف پیروی کند:

مثال

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

به طور شخصی امتحان کنید

دسترسی به ویژگی‌های شیء

شما می‌توانید به دو روش به ویژگی‌های شیء دسترسی پیدا کنید:

objectName.propertyName

یا

objectName["propertyName"]

مثال 1

person.lastName;

به طور شخصی امتحان کنید

مثال 2

person["lastName"];

به طور شخصی امتحان کنید

دسترسی به روش‌های شیء

شما می‌توانید از این دستورات برای دسترسی به روش‌های شیء استفاده کنید:

objectName.methodName())

مثال

name = person.fullName();

به طور شخصی امتحان کنید

اگربدون استفاده از () اگر به روش fullName دسترسی پیدا کنید، بازخوردتعریف تابع:

مثال

name = person.fullName;

به طور شخصی امتحان کنید

روش‌ها در واقع به عنوان ارزش‌های ویژگی ذخیره شده‌اند.

لطفاً رشته‌ها، اعداد و مقادیر Boolean را به عنوان شیء بخشید!

اگر با استفاده از کلمه کلیدی "new" متغیرهای JavaScript را بخشید، آن متغیر به عنوان یک شیء ایجاد خواهد شد:

var x = new String();        // بخشیدن x به عنوان یک شیء String
var y = new Number();        // بخشیدن y به عنوان یک شیء Number
var z = new Boolean();       //	بخشیدن z به عنوان یک شیء Boolean

از استفاده از شیء‌های رشته، عددی یا منطقی خودداری کنید. آنها پیچیدگی کد را افزایش داده و سرعت اجرا را کاهش می‌دهند.

شما در بخش‌های بعدی این آموزش بیشتر درباره شیء یاد خواهید گرفت.

کتاب‌های درسی

برای اطلاعات بیشتر شیء در JavaScriptبرای اطلاعات بیشتر، مطالب مرتبط در آموزش JavaScript پیشرفته را بخوانید:

فناوری‌های مستقل ECMAScript
این بخش به معرفی اصطلاحات فناوری مستقل، نیازهای زبان مستقل و ساختار شیء می‌پردازد.
کاربرد شیء ECMAScript
این بخش به توضیح نحوه تعریف و نمونه‌گیری شیء، نحوه ارجاع و حذف شیء و مفهوم پیوند می‌پردازد.
نوع شیء ECMAScript
این بخش سه نوع شیء ECMAScript را معرفی می‌کند: شیء محلی، شیء داخلی و شیء میزبان، و لینک‌های مراجعه به دستورالعمل‌های مرتبط را ارائه می‌دهد.
دامنه شیء ECMAScript
این بخش درباره دامنه ECMAScript و کلید this توضیح می‌دهد.
تعریف کلاس یا شیء ECMAScript
این بخش به طور دقیق توضیح می‌دهد که چگونه شیء یا کلاس ECMAScript ایجاد شوند.
تغییر شیء ECMAScript
این بخش توضیح می‌دهد که چگونه با ایجاد روش‌های جدید یا تغییر روش‌های موجود، شیء را تغییر دهیم.