𝗖𝗢𝗢𝗟𝗬 𝗖𝗢𝗗𝗘 | کولی کد
#WhatsThat #javascript #object * متد Object.defineProperty در جاوااسکریپت چیست ؟ * #part1 یکی از روشهای قدرتمند در جاوااسکریپت برای تعریف یا تغییر ویژگیهای یک شیء به صورت دقیق و کنترل شده Object.defineProperty است. با استفاده از این متد، میتوانید ویژگیهای…
#javascript #js_trick #object
* متد Object.defineProperty در جاوااسکریپت چیست ؟ *
#part2
توی پارت قبلی به معرفی متد Object.defineProperty پرداختیم و ویژگی های کلیدی و ارگومان های مختلف این متد رو بررسی کردیم :
obj | prop | descriptor
و متوجه شدیم که با آرگومان descriptor میتونیم یسری ویژگی های جدید رو به پروپرتی خودمون اضافه کنیم تا کنترل بهتری روی پروپرتی خودمون داشته باشیم، حالا توی این پارت قراره که به صورت جزئی تر به مقادیر آرگومان descriptor بپردازیم و دونه به دونه با هم دیگه بررسیشان کنیم ⚡
مقادیر آرگومان descriptor 🚀
➊ value : مقدار اولیه ویژگی.
➋ configurable : مقدار بولینی که مشخص میکند آیا میتوان ویژگی را حذف کرد یا تعریف آن را تغییر داد. 🛑🔁
➌ enumerable : یک مقدار بولین که مشخص میکند آیا ویژگی در یک حلقه for...in ظاهر میشود یا خیر. 👁️🗨️
➍ writable : یک مقدار بولین که مشخص میکند آیا میتوان مقدار ویژگی را تغییر داد. 📝
➎ get : یک تابع که بعنوان گِتِر برای پروپرتی ما عمل میکند.
➏ set : یک تابع که به عنوان سِتِر برای پروپرتی ما عمل میکند.
✅ مثال عملی :
const person = {};
Object.defineProperty(person, 'name', {
value: 'علی',
writable: false,
enumerable: true,
configurable: false
});
console.log(person.name); // خروجی: علی
person.name = 'حسن' ;
ℹ️ در این مثال، ما یک ویژگی جدید به نام name با مقدار اولیه علی به آبجکت person اضافه کردیم. همچنین مشخص کردیم که این ویژگی قابل تغییر نیست، در حلقههای for...in قابل مشاهده است و نمیتوان آن را حذف کرد.
⚠️ در نتیجه خط اخر با خطا مواجه میشود زیرا ویژگی writable را برابر با false قرار دادیم و پروپرتی name قابل تغییر نیست.
💥 توی پارت بعدی که پارت پایانی هستش درمورد دو پروپرتی set و get در descriptor به صورت کامل صحبت میکنیم و به صورت جزئی به بررسی این دو ویژگی میپردازیم ☕
Channel | YouTube | Instagram
Telegram
𝗖𝗢𝗢𝗟𝗬 𝗖𝗢𝗗𝗘 | کولی کد
#WhatsThat #javascript #object
* متد Object.defineProperty در جاوااسکریپت چیست ؟ *
#part1
یکی از روشهای قدرتمند در جاوااسکریپت برای تعریف یا تغییر ویژگیهای یک شیء به صورت دقیق و کنترل شده Object.defineProperty است. با استفاده از این متد، میتوانید ویژگیهای…
* متد Object.defineProperty در جاوااسکریپت چیست ؟ *
#part1
یکی از روشهای قدرتمند در جاوااسکریپت برای تعریف یا تغییر ویژگیهای یک شیء به صورت دقیق و کنترل شده Object.defineProperty است. با استفاده از این متد، میتوانید ویژگیهای…
🔥1