برنامه نویسی

روش های ایجاد آبجکت در جاوا اسکریپت

مقدمه

راه های بسیار کمی برای ایجاد یک شی در جاوا اسکریپت وجود دارد.

  1. حروف عینی
  2. سازنده شی ()
  3. Object.create()
  4. عملکرد سازنده
  5. کلاس ES6

حروف عینی

احتمالاً این سریعترین و ساده ترین راه برای ایجاد یک شی در جاوا اسکریپت است. این همچنین به‌عنوان اولیه‌ساز شیء نامیده می‌شود که یک لیست محدود شده با کاما از صفر یا چند جفت نام ویژگی و مقادیر مرتبط یک شی است که در پرانتزهای فرفری محصور شده است.{}).

const newObject = {} // Simply create a new empty object

const newObject = { 
  someKey: "someValue", 
  anotherKey: "anotherValue" 
}
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مقادیر شی می تواند نوع داده اولیه یا شیء دیگر باشد.

سازنده شی ()

می توانید با استفاده از سازنده Object داخلی یک شی ایجاد کنید.
اگر مقدار پاس شده باشد null یا undefined یا no value passed سپس یک شی خالی ایجاد می کند و برمی گرداند.
اگر مقدار قبلاً یک شی باشد، همان مقدار را برمی گرداند.

// below options create and return an empty object
const ObjWithNoValue = new Object();
const ObjWithUndefined = new Object(undefined);
const ObjWithNull = new Object(null);

const newObject = { 
  someKey: "someValue", 
  anotherKey: "anotherValue" 
}

const sameObject = new Object(someObject);

sameObject['andAnotherKey'] = "one another value";

sameObject === newObject; // both objects are same. 

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

Object.create()

این روش به شما امکان می دهد یک شی جدید با یک نمونه اولیه خاص ایجاد کنید. این رویکرد شی جدید را قادر می‌سازد تا ویژگی‌ها و روش‌ها را از نمونه اولیه به ارث ببرد و رفتار وراثت‌مانند را تسهیل کند.

const person = {
  greet: function () {
    console.log(`Hello ${this.name || 'Guest'}`);
  }
}

const driver = Object.create(person);
driver.name = 'John';
driver.greet(); // Hello John
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

عملکرد سازنده

قبل از ES6، این یک روش رایج برای ایجاد چندین شیء مشابه بود. سازنده چیزی نیست جز یک تابع و با کمک یک کلمه کلیدی جدید می توانید یک شی ایجاد کنید.

تمرین خوبی است که capitalize اولین کاراکتر a function name هنگامی که شی را با کلمه کلیدی “جدید” می سازید.

function Person(name, location) {
  this.name = name;
  this.location = location;
  greet() {
    console.log(`Hello, I am ${this.name || 'Guest'} from ${this.location || 'Earth'}`);
  }
}

const alex = new Person('Alex');
alex.greet(); // Hello, I am Alex from Earth

const sam = new Person('Sam Anderson', 'Switzerland');
sam.greet(); // Hello, I am Sam Anderson from Switzerland
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

کلاس ES6

یک رویکرد مدرن تر به ایجاد شی درست مانند سایر زبان های برنامه نویسی OOP با استفاده از کلاس با تابع سازنده برای مقداردهی اولیه خواص و روش ها کمک می کند.

class Person {
  constructor(name, location) {
    this.name = name || 'Guest';
    this.location = location || 'Earth';
  }

  greet() {
    console.log(`Hello, I am ${this.name} from ${this.location}`);
  }
}

const santa = new Person('Santa');
santa.greet(); // Hello, I am Santa from Earth
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مراجع:

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا