برنامه نویسی

درک اپراتورهای JavaScript: از حسابی تا سه گانه

امروز ، من عمیق تر به اپراتورهای JavaScript شیرجه می زنم.

اپراتورهای JavaScript عبارتند از:

  1. اپراتورهای حسابی: +با -با *با /با %با **
  2. اپراتورهای نفی: - (unary minus) ، ! (منطقی نیست)
  3. اپراتورهای مقایسه: >با <با >=با <=با ==با !=با ===با !==
  4. اپراتورهای منطقی: && (و) ، || (یا) ، ! (نه)
  5. اپراتور همبستگی تهی: ??
  6. اپراتور سه گانه: ? :

ارزشهای حقیقت و فال:
مقادیر فال: 0 ، “” (رشته خالی) ، نادرست ، تهی ، تعریف نشده و نان
ارزش های حقیقت: هر چیز دیگری

عمل
مقدار یا متغیری که اپراتورها به آن اعمال می شوند.
به عنوان مثال ، در 5 + 2، اعداد 5 وت 2 Operands هستند.
وابسته
هنگامی که یک اپراتور به یک عملگر واحد اعمال می شود ، به آن Unary گفته می شود.
به عنوان مثال +5با -x (x را نفی می کند) ، یا typeof "123"بشر
دوتایی
هنگامی که یک اپراتور به دو عملگر اعمال می شود ، آن را باینری می نامند.
به عنوان مثال 5 + 2با x * y

اپراتورهای حسابی: +با -با *با /با %با **
JavaScript به طور ضمنی انواع عملیات را تبدیل می کند.
به عنوان مثال:
5 - "3" منجر به عدد صحیح می شود 2 (“3” برای انجام تفریق به عدد صحیح 3 تبدیل می شود)
10 % "3" منجر به عدد صحیح می شود 1

رفتار خاص + اپراتور:
با رشته ها ، + اپراتور آنها را هماهنگ می کند.
به عنوان مثال:
let value = "hello" + "world" + "!"; // “Helloworld!”
این رفتار با سایر اپراتورهای حسابی متفاوت است. در + اگر هر دو طرف از نوع رشته باشند ، اپراتور عمل می کند.
به عنوان مثال:
"10" + 4 منجر به رشته می شود "104"بشر
1 + 1 + "5" منجر به رشته می شود "25" (از چپ به راست ارزیابی شده است.)

وابسته +
یوناری + اپراتور غیر شماره ها را به شماره تبدیل می کند. این یک کوتاه است Number()بشر
مثال:
+"123" // 123
+ true // 1
+"" // 0

اپراتورهای نفی:
یوناری - اپراتور یک عدد یا متغیر را نفی می کند و به طور موثری علامت خود را می چرخاند.
مثال:
let x = 3;
console.log(-x); // -3

اپراتورهای مقایسه:
اپراتورهای مقایسه ، اعداد را همانطور که از ریاضی می دانیم مقایسه می کنند. برای رشته ها ، JavaScript آنها را بر اساس نظم الفبایی یا نظم واژگانی مقایسه می کند. می توانید به نمودار رمزگذاری کاراکتر (ASCII یا یونیکد) مراجعه کنید. هنگام انجام مقایسه ، JavaScript در صورت لزوم مقادیر را به اعداد تبدیل می کند.
به عنوان مثال:
"2" > 1 // درست

JavaScript در رفتار مقایسه خود برخی از سؤالات را دارد:
null == undefined // درست
null === undefined // نادرست
NaN == NaN // false (NAN به عنوان “برابر با هیچ ارزش ، از جمله خود” تعریف نشده است.)

اپراتورهای منطقی:
&& (و)
و اپراتور (&&) فقط هنگامی که هر دو عمل صحیح هستند ، درست برمی گردد.
true && true // درست
true && false // نادرست
false && true // نادرست
false && false // نادرست

JavaScript مقادیر از چپ به راست را ارزیابی می کند. اگر عملگر چپ حقیقت باشد ، برای ارزیابی عملیات راست حرکت می کند و مقدار مناسب را برمی گرداند.
1 && 2 // 2 ،
1 && true && 3 // 3

اگر با یک مقدار فال روبرو شود ، متوقف می شود و مقدار Falsy را برمی گرداند.
1 && null // تهی ،
1 && 2 && undefined // تعریف نشده

اگر همه اپراندا حقیقت داشته باشند ، آخرین مقدار بازگردانده می شود.
1 && 2 && 3 // 3

|| (یا)
اپراتور OR (||) اگر هر دو عمل صحیح باشد ، درست باز می گردد.
true || true // درست
true || false // درست
false || true // درست
false || false // نادرست

JavaScript مقادیر از چپ به راست را ارزیابی می کند. این اولین مقدار حقیقت را که با آن روبرو شد ، برمی گرداند.
null || 1 // 1
undefined || 0 || 2 || 5 // 2

اگر هیچکدام از اپراند ها صادق نباشند ، آخرین مقدار را برمی گرداند.
null || undefined || 0 // 0

! (نه)
در ! اپراتور مقدار بولی عملگر را وارونه می کند. این عمل را به یک بولی (درست یا نادرست) تبدیل می کند و سپس مقدار مخالف را برمی گرداند.
!true // نادرست
!0 // درست
if (!true) {
console.log("This won't run.");
}

اپراتور همبستگی تهی: ??
اپراتور همبستگی تهی ?? اخیراً معرفی شده است (ES2020). این به مواردی کمک می کند تا مواردی را که می خواهید بررسی کنید آیا یک مقدار است یا خیر null یا undefined، و اگر چنین است ، یک مقدار پیش فرض را برگردانید.

نحو: let value = a ?? b;
اگر a هیچکدام نیست null نه undefined، برمی گردد aبشر
اگر a است ، null یا undefined، برمی گردد bبشر

این اپراتور مفید است زیرا به طور خاص کنترل می شود null یا undefined، بدون اینکه تحت تأثیر ارزشهای فال مانند 0 ، “” یا دروغین قرار بگیرند ، || (OR) اپراتور به عنوان فالری رفتار می کند و با مقدار دوم جایگزین می شود.

let height = 0;
alert(height || 100); // 100 (because 0 is falsy)
alert(height ?? 100); 0 (because 0 is not null or undefined)
حالت تمام صفحه را وارد کنید

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

آموزش مدرن JavaScript

|| اولین مقدار حقیقت را برمی گرداند
?? اولین مقدار تعریف شده را برمی گرداند

اپراتور سه گانه: ? :
نحو: let result = condition ? value1 : value2;
شرایط ارزیابی می شود. اگر این حقیقت باشد ، value1 برگردانده شده است در غیر این صورت ، value2 برگردانده شده است
آموزش مدرن JavaScript

اپراتور سه گانه مختصر است و اغلب برای تکالیف مشروط ساده استفاده می شود. به عنوان مثال:
const className = isActive ? "red" : "blue";

با توجه به آموزش مدرن JavaScript ، با این حال ، با استفاده از اپراتور سه گانه برای اجرای بلوک های مختلف کد (مانند بیانیه IF) توصیه نمی شود. این می تواند به کد کمتر خوانده شده منجر شود.

let company = prompt('Which company created JavaScript?', ''); (company == 'Netscape') ? alert('Right!') : alert('Wrong.');
حالت تمام صفحه را وارد کنید

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

در عوض ، اگر عبارت قابل خواندن تر باشد:

let company = prompt('Which company created JavaScript?', ''); 
if (company == 'Netscape') { 
    alert('Right!');
} else { 
    alert('Wrong.');
}
حالت تمام صفحه را وارد کنید

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

اپراتور سه گانه بهترین استفاده برای عبارات ساده است که در آن مقادیر را برمی گردانید ، نه برای اجرای بلوک های مختلف کد.

این اپراتورها معمولاً به صورت کد و بعضی اوقات استفاده می شوند && وت ?? به نظر می رسد می تواند نتایج مشابهی داشته باشد. با این حال ، آنها قابل تعویض نیستند. در && اپراتور اولین مقدار فالسی را که با آن روبرو می شود برمی گرداند ، در حالی که ?? اگر مقدار اول باشد ، فقط مقدار دوم را برمی گرداند null یا undefinedبشر مهم است که با دقت در نظر بگیرید که از کدام اپراتور بر اساس رفتاری که می خواهید به دست بیاورید ، استفاده کنید.

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

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

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

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