اپراتورها در جاوااسکریپت
ارسال شده توسط: پردیس ساتیاریبا ویژگی اپراتورها در جاوااسکریپت در این مقاله آشنا می شویم.
نکات اصلی اپراتورها در جاوااسکریپت:
- در جاوااسکریپت ، اپراتورها برای اختصاص مقادیر ، انجام عملیات حسابی و اجرای سایر کارهای مفید استفاده می شوند.
- از برخی اپراتورها باید کم استفاده شود زیرا آنها می توانند اجرای اسکریپت شما را کند یا پیچیده کنند.
انواع اپراتورها در جاوااسکریپت
برخی از اپراتورهای JavaScript بیشتر از بقیه مورد استفاده قرار می گیرند. این کاملاً طبیعی است: ما در کارهای روزمره بیشتر با برخی نیازها روبرو می شویم.
اقداماتی مانند محاسبه ، مقایسه و برخی اقدامات دیگر معمولاً معمول است. به همین دلیل است که JavaScript اپراتورهای متنوعی را متناسب با نیازهای ما فراهم می کند. ما در حال حاضر شش نوع مهمترین اپراتورها را به شما معرفی می کنیم و برای درک بهتر مثالهایی ارائه می دهیم.
حساب
شما باید عملیات ریاضی را از سالهای مدرسه به یاد داشته باشید: آنها همان محاسبات همه جا هستند که شما از کلاس اول یاد می گیرید. در JavaScript، عملگرها و عملوندها را دارید.
به زبان ساده ، عملگرها به علائم جمع (+) ، تفریق (-) ، تقسیم (/) و ضرب (*) اشاره می کنند. منظور از عملكردها اعدادي است كه در محاسبات ريزسنجي استفاده مي شود.
بیایید تصور کنیم که متغیر b مقدار 8 به آن اختصاص داده شده است:
Result in a | Result in b | Example | Description | Operator |
a = 10 | b = 8 | a = b + 2 | اضافه کردن | + |
a = 6 | b = 8 | a = b – 2 | کم کردن | – |
a = 16 | b = 8 | a = b * 2 | ضرب کردن | * |
a = 4 | b = 8 | a = b / 2 | تقسیم | / |
a = 0 | b = 8 | a = b % 2 | مدول (باقیمانده تقسیم) | % |
a = 9 a = 9 | b = 9 b = 9 | a = ++b ++a=b | افزایش | ++ |
a = 7 a = 7 | b = 7 b = 7 | a = –b –a=b | کاهش | — |
وظیفه
با استفاده از عملگرهای انتساب ، به متغیرها یک مقدار می دهید. به عبارت دیگر، عملگر تخصیص یک علامت برابر است (=). برای تنظیم مقدار عملوند سمت راست به عملوند سمت چپ استفاده می شود.
بیایید تصور کنیم که باید دو مقدار به این صورت اعلام کنیم: a = 10 و b = 8. در جدول زیر از این دو متغیر با مقادیر برای توضیح عملگرهای انتساب استفاده می شود:
Result in a | Same As | Example | Operator |
a = 8 | a = b | a = b | = |
a = 18 | a = a + b | a += b | =+ |
a = 2 | a = a – b | a -= b | =- |
a = 80 | a = a * b | a *= b | =* |
a = 1 | a = a / b | a /= b | =/ |
a = 2 | a = a % b | a %= b | =% |
رشته
از عملگرهای + و JavaScript + = نیز می توان برای الحاق (افزودن) رشته ها استفاده کرد.
به زبان ساده ، این عملگرهای اتصال + = و + هنگامی که توسعه دهندگان می خواهند مقادیر چند رشته را اضافه کنند ، اعمال می شوند. در نتیجه ، یک رشته جدید تولید می شود که مقدار محاسبه شده را نشان می دهد.
بیایید تصور کنیم که ما سه مقدار مانند این را اعلام کرده ایم: string1 = “Hey”، string2 = “Joe”، string3 = “”.
جدول زیر از این سه متغیر با مقادیر برای توضیح عملگرهای رشته استفاده می کند:
string3 | string2 | string1 | Example | Operator |
“Hey, Joe “ | “Joe” | “,Hey “ | string3 = string1 + string2 | + |
“” | “Joe” | “Hey, Joe “ | string1 += string2 | =+ |
مقایسه
عملگرهای مقایسه با مقایسه دو متغیر برای مقدار برابر یا هر دو مقدار و نوع به شما امکان می دهند مقدار بولی درست یا غلط بدست آورید.
با استفاده از JavaScript == ، دو عملوند مقایسه شده را به زور به یک نوع تبدیل می کند. از طرف دیگر ، JavaScript === همان عملکرد را کمی متفاوت انجام می دهد: این بررسی می کند که این دو عملوند از یک نوع هستند. در صورت وجود ، JavaScript === درست برگردانده می شود.
بیایید تصور کنیم که مقداری مانند این را اعلام کرده ایم: a = 8. جدول زیر از این متغیر برای توضیح عملگرهای مقایسه استفاده می کند:
Returns | Comparing | Description | Operator |
false true | a == 8 a == 8 | ارزش برابر | == |
false true | “a === “8 a === 8 | مقدار برابر و نوع داده برابر | === |
true | a != 8 | نا برابر | =! |
true false | “a !== “8 a !== 8 | مقدار برابر یا نوع داده برابر نیست | ==! |
false | a > 8 | بزرگتر از | < |
true | a < 8 | کوچتر از | > |
false | a >= 8 | بزرگتر مساوی | <= |
true | a <= 8 | کوچکتر مساوی | >= |
عملگرهای منطقی
با استفاده از عملگرهای منطقی ، می توانید منطق بین اپراتورها و متغیرها را تعیین کنید. بنابراین ، عملگرهای منطقی برای بدست آوردن مقدار بولی (درست یا نادرست) اعمال می شوند.
بیایید تصور کنیم که مقداری مانند این را اعلام کرده ایم: a = 6 و b = 3. جدول زیر از این دو متغیر با مقادیر برای توضیح عملگرهای منطقی استفاده می کند:
Example | Description | Operator |
(a < 10 && b > 2) is true | and | && |
(a === 8 || b === 8) is false | or | || |
!(a === b) is true | not | ! |
بیت
قرار است عملگرهای بیتی جاوا اسکریپت با اعداد 32 بیتی کار کنند. به عنوان مثال ، عدد 8 نمایش دودویی 1000 دارد. عملوندهای عددی وقتی با این عملگرها استفاده می شوند ، به مقادیر 32 بیتی تبدیل می شوند. پس از عملگرهای بیتی جاوا اسکریپت ، نتیجه دوباره به یک شماره جاوا اسکریپت معمولی تبدیل می شود.
Decimal | Result | Same as | Example | Description | Operator |
4 | 0100 | 0001^ 0101 | a = 8 ^ 1 | XOR | ^ |
8 | 0101 | 0001 | 0101 | a = 8 | 1 | OR | | |
1 | 0001 | 0001 & 0101 | a = 8 & 1 | AND | & |
10 | 1010 | 0101~ | a = ~ 8 | NOT | ~ |
2 | 0010 | 1 << 0101 | a = 8 >> 1 | Right shift | << |
10 | 1010 | 1 >> 0101 | a = 8 << 1 | Left shift | >> |
توجه: مثال بالا از 4 بیت نمونه بدون علامت استفاده می کند. با این حال ، جاوا اسکریپت از شماره های 32 بیتی امضا شده استفاده می کند. بنابراین ، 8 پوند 10 JavaScript را بر نمی گرداند. نتیجه 6- خواهد بود.
سایر اپراتورها در جاوااسکریپت
ما بزرگترین انواع اپراتورهایی را که غالباً مورد استفاده قرار می گیرند ، پوشش داده ایم. اکنون ، اپراتورهایی نیز وجود دارند که اغلب مفید به نظر می رسند ، اما به هیچ گروه بزرگتری تعلق ندارند. ما با ارائه مثالهای کد ، شش مورد از آنها را بحث خواهیم کرد. درک نحوه عملکرد این اپراتورهای JavaScript باعث انعطاف پذیری بیشتر شما در کار می شود.
مشروط (سه گانه)
در صورت تحقق یک شرط ، عملگر سه گانه مقداری را به یک متغیر اختصاص می دهد. برای درک قوانین نحو به یک قطعه زیر مراجعه کنید:
exampleVar = (شرط)؟ val1: val2؛
برای درک بهتر ، مثالی را امتحان می کنیم:
canVote = (سن <18 سالگی)؟ “Not old old”: “به اندازه کافی قدیمی”؛
بررسی متغیری به نام age انجام می شود و اگر مقدار آن کمتر از 18 باشد ، مقدار متغیر قابل رأی گیری به اندازه کافی قدیمی نیست ، در غیر این صورت مقدار آن به اندازه کافی قدیمی خواهد بود.
نوعی از
عملگر typeof برای بازگرداندن نوع متغیرها ، اشیا، ، توابع یا عبارات استفاده می شود:
typeof "Joe" // Will return string
typeof 2 // Will return number
typeof NaN // Will return number
typeof true // Will return boolean
typeof [9, 8, 7, 6] // Will return object
typeof {name:'Joe', age:32} // Will return object
typeof new Date() // Will return object
typeof function () {} // Will return function
typeof exampleVar // Will return undefined (if exampleVar has not been declared)
typeof null // Will return object
توجه کنید که چگونه:
- نوع داده NaN عدد است.
- نوع داده یک آرایه شی is است.
- نوع داده یک تاریخ یک شی است.
- نوع داده null شی است.
- نوع داده یک متغیر تعریف نشده تعریف نشده است.
توجه: از typeof برای تعیین اینکه یک شی JavaScript تاریخ است یا یک آرایه نمی توان استفاده کرد.
حذف
عملگر حذف برای حذف اشیا objects از عملگرها استفاده می شود:
var user = {
name: "Joe",
age: 32
};
delete user.age;
با استفاده از این عملگر ، ویژگی و ارزش آن را حذف می کنید. پس از آن ، به هیچ وجه نمی توان به ملک دسترسی داشت ، مگر اینکه مورد مشابه دیگری به آن اضافه شود.
این عملگر بر متغیرها یا توابع تأثیر نمی گذارد. این فقط برای کار بر روی خصوصیات شی طراحی شده است.
توجه: از این عملگر در خصوصیات JavaScript از پیش تعریف شده استفاده نکنید. ممکن است برنامه شما خراب شود.
in
از عملگر in برای بررسی وجود ویژگی در شی object مشخص شده استفاده می شود ، مقدار را درست یا نادرست برمی گرداند:
var car = ["BMW", "Audi", "Volvo"];
"Audi" in car
1 in car
2 in car
5 in car
"length" in car
// Objects
var user = {
name: "Joe",
age: 32
};
"name" in user
"age" in user
// Predefined objects
"length" in String
"NaN" in Number
"PI" in Math
مثال اپراتورها در جاوااسکریپت
برای بررسی اینکه آیا یک شی مشخص مصداق یک شی مشخص است یا خیر ، مقدار true یا false را برمی گرداند ، از عملگر instance استفاده می شود. بنابراین ، نمونه JavaScript مقدار بولی را برمی گرداند.
var car = ["BMW", "Audi", "Volvo"];
car instanceof Object;
car instanceof Array;
car instanceof Number;
car instanceof String;
خالی
عملگر void برای ارزیابی بیان و بازگشت تعریف نشده استفاده می شود. void JavaScript غالباً برای بدست آوردن مقدار اولیه تعریف نشده ، با استفاده از void (0) استفاده می شود (برای ارزیابی عبارت بدون استفاده از مقدار بازگشتی مفید است).
<a href="javascript:void(0);"> Link with no destination</a>
<a href="javascript:void(document.body.style.backgroundColor='green');">Click to make the background red</a>