‎‎كلاسهاي جاوااسكريپتJavaScript Classes -‎

Previous >    <Next  

‎ECMAScript 2016‎كه باES6 شناخته ميشود، كلاسهاي جاوااسكريپت را معرفي كرده است.

‎‎كلاسهاي جاوااسكريپت قالبهائي براي اشياء جاوااسكريپت هستتند.

‎‎فرم كلي كلاسJavaScript Class Syntax -‎

‎‎با استفاده از كيورد‎class‎ يك كلاس ايجاد ميشود .

‎‎هميشه در كلاس متدي براي ساخت شئ كه‎constructor()‎‎ است، معرفي كنيد.

‎‎فرم كلي تعريف كلاس:

class ClassName {
  constructor() { ... }
}

‎‎مثال ـ تعريف كلاسcar

class Car {
  constructor(name, year) {
    this.name = name;
    this.year = year;
  }
}

‎‎در مثال فوق كلاسي بنامcar ايجاد ميشود .اين كلاس داراي دو ويژگي اوليه بنام name, year دارد

‎‎يك كلاس جاوااسكريپت شئ نيست .آن قالبي است براي ايجاد اشياء جاوااسكريپت.

‎‎بكارگيري يك كلاسUsing a Class -‎

‎‎هنگاميكه كلاسي وجود دارد، ميتوان با استفاده از آن كلاس شئ ايجاد كرد.

‎‎مثال ـ ايجاد شئ با يك كلاس

const myCar1 = new Car("Ford", 2014);
const myCar2 = new Car("Audi", 2019);

--(go to editor for change code and run)

‎‎در مثال فوق با استفاده از كلاسcar دو شئ بنامهاي mycar1 و mycar2 ايجاد شده است .

‎‎متد سازنده كلاس بصورت اتوماتيك در هنگام ايجاد شئ فراخوان ميشود.

‎‎متد سازندهThe Constructor Method -‎

‎‎متد سازنده ، متد خاصي است داراي مشخصات زير:

‎‎اگر متد سازنده را در كلاس تعريف نكنيد، جاوااسكريپت يك متد سازنده تهي اضافه ميكند.

‎‎متدهاي كلاسClass Methods -‎

‎‎متدهاي كلاس مشابه سينتكس متدهاي شئ ايجاد ميشود.

‎از كيورد‎class‎ براي ايجاد كلاس استفاده نمائيد .هميشه متد سازنده ‎constructor( ) ‎‎را به كلاس اضافه كنيد .سپس هر تعداد متد لازم ‎را اضافه نمائيد:

‎‎فرم كلي

class ClassName {
  constructor() { ... }
  method_1() { ... }
  method_2() { ... }
  method_3() { ... }
}

‎‎مثال ـ ايجاد يك متد بنامage كه برگشتي آن Car age باشد .

class Car {
  constructor(name, year) {
    this.name = name;
    this.year = year;
  }
  age() {
    const date = new Date();
    return date.getFullYear() - this.year;
  }
}

const myCar = new Car("Ford", 2014);
document.getElementById("demo").innerHTML =
"My car is " + myCar.age() + " years old.";

--(go to editor for change code and run)

‎‎ميتوان به متد كلاس پارامتر ارسال كرد . نمونه مثال زير:

‎‎مثال ـ ارسال پارامتر به متد كلاس

class Car {
  constructor(name, year) {
    this.name = name;
    this.year = year;
  }
  age(x) {
    return x - this.year;
  }
}

const date = new Date();
let year = date.getFullYear();

const myCar = new Car("Ford", 2014);
document.getElementById("demo").innerHTML=
"My car is " + myCar.age(year) + " years old.";

--(go to editor for change code and run)

‎‎پشتيباني مرورگرBrowser Support -‎

‎‎در جدول زير اولين نسخه مروگر كه از كلاسها بطور كامل پشتيباني ميكنند آماده است

Chorome Edge Firefox Safari Opera
‎‎49‎ ‎‎12‎ ‎‎45‎ ‎‎9‎ ‎‎36‎
‎Mar 2016 ‎Jul 2015 ‎Mar 2016‎ ‎Oct 2015‎ ‎Mar 2016‎

‎‎استفاده در حالت سختگيرانه‎‎"use strict‎"‎ -‎

‎،سينتكس در كلاسها بايستي در حالت سختگيرانه نوشته شود.اگر قوانين حالت سختگيرانه رعايت نشود ‎با خطا مواجه ميشويد.

‎مثال ـ در حالت سختگيرانه‎(‎"strict mode‎")‎ اگر متغيري تعريف نشده استفاده شود ‎خطا ايجاد ميشود.

class Car {
  constructor(name, year) {
    this.name = name;
    this.year = year;
  }
  age() {
    // date = new Date();  // This will not work
    const date = new Date(); // This will work
    return date.getFullYear() - this.year;
  }
}

--(go to editor for change code and run)


Previous >    <Next