برنامه نویسی

عملگر double not (!!)

در حوزه برنامه نویسی، عملگرها ابزارهایی هستند که به ما اجازه می دهند تا عملیات روی متغیرها و مقادیر انجام دهیم. یکی از این اپراتورها که اغلب توسعه دهندگان را غافلگیر می کند، عملگر double not است (!!). این مقاله به این می پردازد که عملگر double not چیست، چه زمانی و چرا باید از آن استفاده کرد و چه زمانی از آن اجتناب کرد. ما همچنین نمونه هایی را در هر دو زبان PHP و جاوا اسکریپت، دو زبانی که این اپراتور می تواند مفید باشد، بررسی خواهیم کرد.

Double Not Operator چیست؟

در هر دو PHP و جاوا اسکریپت (و بسیاری از زبان های دیگر)، ! نماد منطقی است NOT اپراتور. صدق عملوندی که به دنبال آن است را نفی می کند. اگر مقدار درست باشد (یعنی در یک زمینه بولی به درستی ارزیابی شود)، ! آن را به نادرست و بالعکس تبدیل می کند.

ما در مقاله اپراتور double not (!!) به طور گسترده به آنچه در PHP است پرداخته ایم.

عملگر double not (!!) به سادگی است ! اپراتور دوبار استفاده شده اولین ! عملوند را به نقطه مقابل بولی خود تبدیل می کند و دومی ! آن را به عقب برمی گرداند. نتیجه مقداری است که صریحاً درست یا نادرست است.

بیایید به یک مثال در جاوا اسکریپت نگاه کنیم:

let truthyValue = 'Hello, world!';
console.log(!!truthyValue); // Outputs: true

let falsyValue = '';
console.log(!!falsyValue); // Outputs: false
وارد حالت تمام صفحه شوید

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

و همینطور در PHP:

$truthyValue = 'Hello, world!';
var_dump(!!$truthyValue); // Outputs: bool(true)

$falsyValue = '';
var_dump(!!$falsyValue); // Outputs: bool(false)
وارد حالت تمام صفحه شوید

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

چرا و زمان استفاده از Double Not Operator

عملگر double not راهی سریع و مختصر برای تبدیل هر مقدار به معادل بولی آن است. این به ویژه در شرایطی مفید است که شما نیاز به اطمینان از درستی یا نادرستی یک متغیر و نه ارزش واقعی آن دارید.

در جاوا اسکریپت، به دلیل تایپ آزاد زبان و به دلیل اینکه مقادیر مختلف را می توان “نادرست” در نظر گرفت، می تواند مفید باشد (به عنوان مثال، null، undefined، 0، NaN، رشته خالی و غیره). استفاده كردن !! می تواند به عادی سازی این مقادیر به یک بولی مناسب کمک کند.

در اینجا یک مثال است که در آن !! می تواند به طور موثر در جاوا اسکریپت استفاده شود:

let user = {
    name: 'John Doe',
    // isAdmin property is missing
};

if (!!user.isAdmin) {
    console.log('User is an admin');
} else {
    console.log('User is not an admin');
}
وارد حالت تمام صفحه شوید

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

در این مورد، به دلیل isAdmin گم شده است، !!user.isAdmin بر خواهد گشت false، و “کاربر مدیر نیست” چاپ خواهد شد.

در PHP، !! عملگر همچنین می‌تواند در بررسی‌های شرطی مفید باشد، به‌ویژه زمانی که با مقادیری سروکار داریم که می‌توانند مانند «نادرست» در نظر گرفته شوند 0، null، false، رشته خالی و غیره

$isAdmin = 0;

if (!!$isAdmin) {
    echo 'User is an admin';
} else {
    echo 'User is not an admin';
}
وارد حالت تمام صفحه شوید

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

چه زمانی از اپراتور Double Not اجتناب شود

در حالی که !! می تواند مفید باشد، همچنین می تواند خواندن کد را دشوارتر کند، به خصوص برای کسانی که با این اپراتور آشنا نیستند. این به اندازه استفاده از روش هایی مانند صریح نیست Boolean() در جاوا اسکریپت یا (bool) ریخته گری در PHP که به همین نتیجه می رسند.

در اینجا نمونه های معادل بدون !!:

جاوا اسکریپت:

let truthyValue = 'Hello, world!';
console.log(Boolean(truthyValue)); // Outputs: true
وارد حالت تمام صفحه شوید

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

PHP:

$truthyValue = 'Hello, world!';
var_dump((bool)$truthyValue); // Outputs: bool(true)
وارد حالت تمام صفحه شوید

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

اگر خوانایی و وضوح در اولویت هستند، یا اگر با توسعه دهندگانی کار می کنید که ممکن است با آن آشنا نباشند !!، شاید بهتر باشد از این روش های صریح تر برای تبدیل مقادیر به آنها استفاده کنید boolean معادل.

عملگر double not (!!) یک راه سریع، اگر تا حدودی رمزآلود، برای تبدیل هر مقدار به یک بولی در زبان هایی مانند جاوا اسکریپت و PHP است. در حالی که این یک ترفند هوشمندانه است و می تواند مفید باشد، به یاد داشته باشید که ممکن است به قیمت خوانایی تمام شود. هنگام تصمیم گیری در مورد استفاده از آن در کد خود، از قضاوت خود استفاده کنید و آشنایی تیم خود با چنین نکات ظریفی را در نظر بگیرید.

اگر یک توسعه دهنده باتجربه هستید و قبلاً با اپراتور double not مواجه شده اید، ممکن است به گواهینامه اصول PHP و گواهینامه اصول جاوا اسکریپت علاقه مند شوید.

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

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

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

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