تابستون داره تموم میشه ها، فرصت‌ها محدودن کلی آفر جذاب در کمپین تابستون🔥👇
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ نوید پولادی
constructor function , class keyword
جامعه جاوا اسکریپت ایجاد شده در ۰۷ مرداد ۱۴۰۱

سلام. در مورد نوع تعریف class‌ها سوال داشتم

میتونیم به اینصورت با constructor function یک کلاسی تعریف کنیم:

function Person(name, age, height)
{
    this.name = name;
    this.age = age;
    this.height = height;
    this.sayHi = function(){
        return `my Name is:${this.name}`;
    }
}

و یا با کلمه کلیدی class:

class Person {
    constructor(name, age, height) {
        this.name = name;
        this.age = age;
        this.height = height;
        this.sayHi = function () {
            return `my Name is:${this.name}`;
        };
    }
}

کارایی که این دو class انجام میدن یکسانه.

تفاوتشون چیه دقیقا؟

درود وقت به خیر

constructor function برای نسخه ES5 بوده که اون موقعه جی اس از کلاس‌ها پشتیبانی نمیکرده و مجبور بودیم به این سبک کار کنیم

اما از نسخه ES6 Class‌ها اضافه شدن که میتونید از این قابلیت استفاده کنید .

class قابلیت ارث بری - کپسوله سازی - چندریختی رو دارند که constructor function‌ها ندارن


علی رضوی ۰۷ مرداد ۱۴۰۱، ۱۶:۲۳