Object Methods
در جاوااسکریپت، اشیاء (Objects) یکی از پرکاربردترین ساختارهای داده هستند.
هر شیء میتواند شامل ویژگیها (properties) و متدها (methods) باشد.
متدها در واقع همان توابعی هستند که به عنوان یک ویژگی داخل شیء ذخیره شدهاند.
1️⃣ تعریف متد در شیء
یک متد در شیء، همانند یک property تعریف میشود ولی مقدار آن یک تابع است.
🔹 در مثال بالا، fullName
یک متد است که با استفاده از کلمه کلیدی this
به ویژگیهای شیء دسترسی دارد.
2️⃣ متد this
کلمه کلیدی this
داخل متد به شیء اشاره میکند که متد به آن تعلق دارد.
3️⃣ متدهای آماده (Built-in) برای اشیاء
جاوااسکریپت چندین متد از پیش تعریفشده برای کار با اشیاء فراهم کرده است.
🔹 ()Object.keys
برمیگرداند: آرایهای از کلیدهای شیء
🔹 ()Object.values
برمیگرداند: آرایهای از مقادیر شیء
🔹 ()Object.entries
برمیگرداند: آرایهای از [کلید، مقدار] برای هر ویژگی
🔹 ()Object.assign
برای کپی یا ترکیب اشیاء استفاده میشود.
🔹 ()Object.freeze
شیء را فریز میکند؛ یعنی دیگر امکان تغییر یا اضافه/حذف ویژگی وجود ندارد.
🔹 ()Object.seal
مانع اضافه یا حذف ویژگیها میشود، اما تغییر مقادیر مجاز است.
📑 جدول خلاصه
متد | مثال | توضیح |
---|---|---|
تعریف متد در شیء | person.fullName() | متدی که داخل شیء تعریف میشود |
this | this.firstName | به شیء صاحب متد اشاره میکند |
Object.keys() | Object.keys(obj) | آرایهای از کلیدهای شیء |
Object.values() | Object.values(obj) | آرایهای از مقادیر شیء |
Object.entries() | Object.entries(obj) | آرایهای از جفتهای [کلید، مقدار] |
Object.assign() | Object.assign({}, o1, o2) | ترکیب/کپی اشیاء |
Object.freeze() | Object.freeze(obj) | جلوگیری از تغییر، اضافه یا حذف ویژگی |
Object.seal() | Object.seal(obj) | مانع اضافه/حذف ویژگی؛ تغییر مقدار مجاز است |