شرایط بدون دیگری در جاوا اسکریپت

هنگام استفاده از جاوا اسکریپت، بسیار متداول است که در برخی مواقع باید از عملگر سه تایی استفاده کنید، که چیزی نیست جز راهی برای نوشتن یک if-else شرطی در یک خط.
مثلا:
let variable = true;
let resultado = "";
if (variable) {
resultado = "La variable es verdadera";
} else {
resultado = "La variable es falsa";
}
// operador ternario
resultado = variable ? "La variable es verdadera" : "La variable es falsa";
اگر گناه دیگری باشد
تا اینجا خوب است، اما اگر فقط نیاز به ارزیابی یک شرط داشته باشید و در صورت برآورده نشدن آن نیازی به انجام کاری نداشته باشید، چه اتفاقی می افتد؟ بیایید یک مثال را ببینیم:
if (variable) {
alert("Verdadero");
}
در این حالت، اگر متغیر درست باشد، بدون در نظر گرفتن مواردی که متغیر نادرست است، هشداری با متن “True” نمایش داده می شود. می توانیم آن را با استفاده از عملگر سه تایی به صورت زیر بنویسیم:
variable ? alert("Verdadero") : null;
در این مثال نیازی به ذکر نیست null
، بنابراین می توان آن را با استفاده از عملگر جایگزین کرد &&
:
variable && alert("Verdadero");
به این ترتیب کد تمیزتر می شود و هشدار فقط در صورتی اجرا می شود که متغیر درست باشد.
مقدار تهی پیش فرض
در برخی موارد ممکن است تابعی داشته باشید که هر مقداری را برمی گرداند، اما اگر مقداری دریافت نشد، بخواهید یک مقدار پیش فرض را برگردانید. مثلا:
let nombre = null;
const usuario = {
nombreUsuario: nombre ? nombre : "Invitado",
};
console.log(usuario);
// {nombreUsuario: "Invitado"}
در این مثال متغیر nombre
با مقدار مقدار دهی اولیه می شود null
، سپس یک شی تعریف می شود usuario
که مالک ملک است nombreUsuario
که به نوبه خود با مقدار متغیر مقداردهی اولیه می شود nombre
یا با مقدار “Guest” اگر متغیر باشد null
. در این صورت ارزش ملک nombreUsuario
“مهمان” خواهد بود.
همه چیز خوب کار می کند، اما با استفاده از اپراتور می توان آن را ساده کرد ??
برای تنظیم یک مقدار پیش فرض:
const usuario = {
nombreUsuario: nombre ?? "Invitado",
};
console.log(usuario);
// {nombreUsuario: "Invitado"}
این مقدار متغیر را برمی گرداند nombre
اگر اینطور نیست null
o undefined
، در غیر این صورت مقدار “مهمان” برگردانده می شود.
در نتیجه، نحو مختصر if
در جاوا اسکریپت ابزار ارزشمندی است که می توانیم از آن برای نوشتن کدهای تمیزتر و خواناتر با استفاده از شرطی استفاده کنیم if
گناه else
یا اپراتور سه تایی