یک عملیات یکانی، عملیاتی است که تنها روی یک عملوند انجام میشود.
delete)عملگر delete ویژگی (Property) یک شیء را حذف میکند. ساختار نوشتن آن به این صورت است:
delete object.property;
delete object[propertyKey];
delete objectName[index];
در این ساختار، object نام شیء، property یک ویژگی موجود در آن، و propertyKey یک رشته (String) یا نماد (Symbol) است که به یک ویژگی موجود اشاره دارد.
اگر عملگر delete موفقیتآمیز باشد، آن ویژگی را از شیء پاک میکند. تلاش برای دسترسی به آن ویژگی پس از حذف، مقدار undefined را برمیگرداند. این عملگر در صورت ممکن بودن عملیات، مقدار true و در غیر این صورت مقدار false را برمیگرداند:
delete Math.PI; // مقدار false برمیگرداند (ویژگیهای non-configurable حذف نمیشوند)
const myObj = { h: 4 };
delete myObj.h; // مقدار true برمیگرداند (ویژگیهای تعریفشده توسط کاربر حذف میشوند)
از آنجا که آرایهها در جاوااسکریپت نوعی شیء هستند، از نظر فنی حذف عناصر آنها با delete ممکن است. با این حال، این کار یک سبک برنامهنویسی بد (Bad practice) تلقی میشود و باید از آن دوری کنید. وقتی یک ویژگی یا عنصر آرایه را با delete حذف میکنید، طول آرایه (length) تغییر نمیکند و سایر عناصر دوباره ایندکسگذاری (Re-indexed) نمیشوند. برای رسیدن به چنین رفتاری، خیلی بهتر است که به جای حذف، مقدار آن عنصر را با undefined جایگزین کنید. همچنین برای دستکاری واقعی و درست آرایه، باید از متدهای مختلف آرایه مثل splice استفاده کنید.
typeof)عملگر typeof رشتهای را برمیگرداند که نشاندهندهی نوع عملوندِ ارزیابینشده است. در این عملگر، عملوند میتواند یک رشته، متغیر، کلمه کلیدی یا شیء باشد که میخواهید نوع آن را بدانید. استفاده از پرانتز دور عملوند اختیاری است.
فرض کنید متغیرهای زیر را تعریف کردهایم:
const myFun = () => 5 + 2;
const shape = "round";
const size = 1;
const foo = ["Apple", "Mango", "Orange"];
const today = new Date();
عملگر typeof برای این متغیرها نتایج زیر را برمیگرداند:
typeof myFun; // مقدار "function" را برمیگرداند
typeof shape; // مقدار "string" را برمیگرداند
typeof size; // مقدار "number" را برمیگرداند
typeof foo; // مقدار "object" را برمیگرداند
typeof today; // مقدار "object" را برمیگرداند
typeof doesntExist; // مقدار "undefined" را برمیگرداند
برای کلمات کلیدی true و null، نتایج به این صورت است:
typeof true; // مقدار "boolean" را برمیگرداند
typeof null; // مقدار "object" را برمیگرداند
برای یک عدد یا رشته معمولی، خروجی به این صورت است:
typeof 62; // مقدار "number" را برمیگرداند
typeof "Hello world"; // مقدار "string" را برمیگرداند
برای ویژگیهای یک شیء، این عملگر نوع مقداری را که آن ویژگی درون خود دارد برمیگرداند:
typeof document.lastModified; // مقدار "string" را برمیگرداند
typeof window.length; // مقدار "number" را برمیگرداند
typeof Math.LN2; // مقدار "number" را برمیگرداند
برای متدها و توابع، عملگر typeof نتایج زیر را خروجی میدهد:
typeof blur; // مقدار "function" را برمیگرداند
typeof parseInt; // مقدار "function" را برمیگرداند
typeof shape.split; // مقدار "function" را برمیگرداند
برای اشیاء از پیش تعریفشده (Predefined objects)، نتایج به این صورت است:
typeof Date; // مقدار "function" را برمیگرداند
typeof Function; // مقدار "function" را برمیگرداند
typeof Math; // مقدار "object" را برمیگرداند
typeof Option; // مقدار "function" را برمیگرداند
typeof String; // مقدار "function" را برمیگرداند
void)عملگر void مشخص میکند که یک عبارت باید ارزیابی و اجرا شود، بدون اینکه هیچ مقداری را برگرداند. استفاده از پرانتز در اطراف عبارت اختیاری است، اما برای جلوگیری از مشکلات مربوط به اولویت عملگرها، نوشتن آن سبک کدنویسی خوبی محسوب میشود.
این محتوا کاملا رایگان توسط تیم کدلپر ترجمه شده و در اختیار شما کاربران عزیز قرار گرفته است، هر گونه کپی برداری برای مقاصد غیر رایگان و بدون ذکر منبع، مورد پیگیری قانونی قرار میگیرد.
ترجمه شده از منبع: https://developer.mozilla.org/en-US/docs/Web/JavaScript