نحوه استفاده از Unary Operators در JavaScript

مقدمه

از نظر ریاضی، یک operation (عملیات) محاسبه‌ای روی یک یا چند مقدار به نام operand (عملوند) است که به یک مقدار خروجی نگاشت می‌شود.
یک operator (عملگر) نماد یا علامتی است که عملوندها را به خروجی تبدیل می‌کند.

یک Unary Operation عملیاتی است که فقط یک عملوند دارد. این عملوند می‌تواند قبل یا بعد از عملگر قرار بگیرد.

عملگرهای Unary نسبت به فراخوانی معمولی توابع JavaScript کارآمدتر هستند. همچنین این عملگرها قابل override شدن نیستند، بنابراین عملکردشان تضمین شده است.

لیست Unary Operator ها

Operator توضیح
Unary plus (+) تلاش می‌کند عملوند را به عدد تبدیل کند
Unary negation (-) عملوند را به عدد تبدیل کرده و منفی می‌کند
Increment (++) یک واحد اضافه می‌کند
Decrement (–) یک واحد کم می‌کند
Logical NOT (!) به Boolean تبدیل کرده و معکوس می‌کند
Bitwise NOT (~) تمام بیت‌ها را برعکس می‌کند
typeof نوع داده را به صورت رشته برمی‌گرداند
delete ویژگی خاصی از object یا index از array را حذف می‌کند
void مقدار بازگشتی یک عبارت را دور می‌اندازد

در این مقاله با همهٔ این‌ها آشنا می‌شوید.


🔹 Unary plus (+)

این عملگر قبل از عملوند می‌آید و اگر عدد نباشد تلاش می‌کند آن را به number تبدیل کند.

می‌تواند موارد زیر را تبدیل کند:

  • رشتهٔ عددی

  • Boolean

  • null

اگر تبدیل نشود → NaN

مثال‌ها:

+”3″ → 3
+true → 1
+false → 0
+”not a number” → NaN

اگر object متد valueOf() داشته باشد نیز قابل تبدیل است.


🔹 Unary negation (-)

این عملگر مقدار را منفی می‌کند.

در تبدیل غیرعددی‌ها مشابه تابع Number() عمل می‌کند.

مثال:

-“3” → -3
-true → -1

🔹 Increment (++)

یک واحد به مقدار اضافه می‌کند.

دو حالت دارد:

Postfix

y = x++

ابتدا مقدار قبلی را برمی‌گرداند سپس افزایش می‌دهد.

Prefix

y = ++x

ابتدا افزایش می‌دهد سپس مقدار جدید را برمی‌گرداند.


🔹 Decrement (–)

مشابه Increment اما یک واحد کم می‌کند.

هم Prefix و هم Postfix دارد.


🔹 Logical NOT (!)

مقدار truthy را false و falsy را true می‌کند.

مثال:

!false → true
!0 → true
!”” → true
!42 → false

Double NOT

!!value

برای تبدیل به Boolean واقعی استفاده می‌شود.


🔹 Bitwise NOT (~)

تمام بیت‌های عدد را معکوس می‌کند.

نتیجهٔ آن برابر است با:

-(x + 1)

مثال:

~3 → -4
~true → -2

🔹 typeof

نوع داده را به صورت رشته برمی‌گرداند.

مثال:

typeof 3 → “number”
typeof “3” → “string”
typeof true → “boolean”
typeof [] → “object”
typeof function(){} → “function”

🔹 delete

ویژگی‌ای از object را حذف می‌کند.

اگر موفق شود → true
اگر نشود → false

⚠️ روی متغیرها و توابع معمولی اثر ندارد.

مثال:

var obj = {a:1}
delete obj.a // true

نکات مهم delete

  • متغیرهای var / let / const حذف نمی‌شوند

  • property غیرقابل تنظیم حذف نمی‌شود

  • روی built-in object ها کار نمی‌کند

  • در array فقط مقدار حذف می‌شود نه index


🔹 void

یک عبارت را اجرا می‌کند ولی همیشه undefined برمی‌گرداند.

مثال:

void 0 → undefined

یا:

void(function())

کاربرد معروف در لینک HTML

<a href=”javascript:void(0)”>

لینکی که هیچ کاری انجام نمی‌دهد.


نتیجه‌گیری

در این مقاله با همهٔ Unary Operator های JavaScript آشنا شدید.

همیشه هنگام استفاده از چند عملگر، ترتیب اولویت (Operator Precedence) را در نظر بگیرید تا از باگ‌های غیرمنتظره جلوگیری شود.

از همراهی شما با پارمین کلود سپاسگزاریم.

Click to rate this post!
[Total: 0 Average: 0]

نظرات کاربران

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

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