اتصال کوتاه در جاوا اسکریپت چگونه کار می کند؟
در جاوا اسکریپت، درک درستی و ارزش های نادرست برای نوشتن کد کارآمد و مختصر ضروری است. در ترکیب با مفهوم اتصال کوتاه، توسعه دهندگان می توانند راه حل های ظریفی برای چالش های برنامه نویسی رایج بنویسند.
در این راهنمای عملی، ارزشهای درستی و نادرستی را تحلیل میکنیم و مکانیزم اتصال کوتاه در جاوا اسکریپت را درک میکنیم.
می توانید تمام کد منبع را از اینجا دریافت کنید.
فهرست مطالب
اتصال کوتاه در جاوا اسکریپت چیست؟
درک درستی و ارزش های نادرست
در جاوا اسکریپت، هر مقدار زمانی که در زمینه بولی ارزیابی شود، یک تفسیر بولی ذاتی دارد. ارزشهایی که به true
ارزیابی میشوند، درست در نظر گرفته میشوند، در حالی که ارزشهایی که به false
ارزیابی میشوند، نادرست هستند.
بیایید چند نمونه را تحلیل کنیم:
// Truthy Values if ('Hello') { console.log('Truthy!'); // Output: Truthy! } if (42) { console.log('Truthy!'); // Output: Truthy! } if (['apple', 'banana']) { console.log('Truthy!'); // Output: Truthy! } // Falsy Values if ('') { console.log('Falsy!'); // This code block is not executed } if (0) { console.log('Falsy!'); // This code block is not executed } if (null) { console.log('Falsy!'); // This code block is not executed }
در اینجا یک تفکیک کد بالا آمده است:
ارزش های واقعی
'Hello'
: هر رشته غیر خالی در جاوا اسکریپت درست در نظر گرفته می شود. در این مورد، رشته 'Hello'
خالی نیست، پس شرط به درستی ارزیابی می شود.
42
: هر عدد غیر صفر (مثبت یا منفی) صدق محسوب می شود. از آنجایی که 42
یک عدد غیر صفر است، شرط به درستی ارزیابی می شود.
['apple', 'banana']
: آرایهها در جاوا اسکریپت، صرف نظر از محتوایشان، درست در نظر گرفته میشوند. از آنجایی که آرایه ['apple', 'banana']
خالی نیست، شرط به درستی ارزیابی می شود.
ارزش های دروغین
''
(رشته خالی): یک رشته خالی در جاوا اسکریپت نادرست در نظر گرفته می شود. پس ، شرط به غلط ارزیابی می شود و بلوک کد داخل دستور if اجرا نمی شود.
0
: عدد صفر در جاوا اسکریپت نادرست در نظر گرفته می شود. پس ، شرط به غلط ارزیابی می شود و بلوک کد داخل دستور if اجرا نمی شود.
null
: مقدار null در جاوا اسکریپت نادرست در نظر گرفته می شود. پس ، شرط به غلط ارزیابی میشود و بلوک کد داخل دستور if اجرا نمیشود.
در جاوا اسکریپت، مقادیری غیر از false
، 0
، ''
(رشته خالی)، null
، undefined
و NaN
درست در نظر گرفته می شوند. درک این مقادیر درستی و نادرست هنگام نوشتن عبارات شرطی و عملیات منطقی در جاوا اسکریپت بسیار مهم است.
درک درستی و ارزش های نادرست بسیار مهم است زیرا آنها نقش مهمی در عبارات شرطی و عملیات منطقی دارند.
اتصال کوتاه در جاوا اسکریپت چیست؟
اتصال کوتاه رفتاری است که توسط عملگرهای منطقی ( &&
، ||
) نشان داده میشود که در آن اگر بتوان نتیجه را تنها با ارزیابی عملوند اول تعیین کرد، از ارزیابی عملوند دوم صرفنظر میشود.
بیایید نحوه عملکرد اتصال کوتاه را با مثال های عملی تحلیل کنیم:
&&
عملگر &&
اولین عملوند نادرست یا آخرین عملوند درستی را برمیگرداند اگر همه عملوندها درست باشند.
const value = 0; const result = value && 'Truthy Value'; console.log(result); // Output: 0
در این مثال value
به 0
ارزیابی می شود که یک مقدار نادرست است. از آنجایی که عملوند اول نادرست است، عبارت اتصال کوتاه می کند و نتیجه 0
است.
const value = 'Hello'; const result = value && 'Truthy Value'; console.log(result); // Output: Truthy Value
در اینجا، value
به یک رشته غیر خالی ارزیابی می شود، که حقیقت دارد. پس ، دومین عملوند 'Truthy Value'
برگردانده میشود، زیرا آخرین عملوند حقیقت است.
||
اپراتور
||
عملگر اولین عملوند حقیقت یا آخرین عملوند نادرست را اگر همه عملوندها نادرست باشند، برمی گرداند.
const name = ''; const displayName = name || 'Guest'; console.log(displayName); // Output: Guest
در این مثال، name
به یک رشته خالی ارزیابی می شود که نادرست است. پس ، عبارت اتصال کوتاه میشود و 'Guest'
به displayName
اختصاص داده میشود.
const name = 'Alice'; const displayName = name || 'Guest'; console.log(displayName); // Output: Alice
در اینجا، name
به یک رشته غیر خالی ارزیابی می شود که درست است. پس ، اولین عملوند 'Alice'
برگردانده میشود، زیرا اولین عملوند درستی است که با آن مواجه میشویم.
موارد استفاده عملی
ارائه مقادیر پیش فرض
اتصال کوتاه معمولاً برای ارائه مقادیر پیش فرض برای متغیرها استفاده می شود.
const options = {}; const limit = options.limit || 10; console.log(limit); // Output: 10 (default value)
در این مثال، options
یک شی خالی است. کد قصد دارد بر اساس ویژگی options.limit
مقداری را برای limit
اختصاص دهد. با این حال، از آنجایی که options.limit
تعریف نشده است (تعریف نشده است)، عملگر منطقی OR ( ||
) استفاده می شود.
عملگر منطقی OR، مقدار اولین عملوند را در صورتی که درست باشد، برمی گرداند. اگر عملوند اول نادرست باشد (در این مورد، options.limit
تعریف نشده است)، مقدار عملوند دوم (در این مورد 10
) را برمیگرداند که به عنوان یک مقدار پیشفرض عمل میکند.
پس ، limit
مقدار 10
اختصاص داده می شود زیرا options.limit
نادرست است (تعریف نشده).
دسترسی ایمن به ویژگی های تودرتو
از اتصال کوتاه نیز می توان برای دسترسی ایمن به خصوصیات تو در تو اشیا استفاده کرد.
const user = { address: { city: 'New York' } }; const city = user.address && user.address.city; console.log(city); // Output: New York
در این مثال، user
یک شی است که حاوی address
شی دیگری است که حاوی ویژگی city
است.
عبارت user.address && user.address.city
از اتصال کوتاه استفاده می کند. تحلیل میکند که user.address
وجود دارد یا خیر، اگر user.address.city
وجود داشته باشد، تحلیل میکند.
اگر user.address
درست باشد (در صورت وجود)، جاوا اسکریپت به ارزیابی user.address.city
می پردازد. اگر user.address
نادرست باشد (اگر تعریف نشده یا تهی باشد)، جاوا اسکریپت ارزیابی را اتصال کوتاه می کند و به ارزیابی user.address.city
ادامه نمی دهد.
اگر user.address
تعریف نشده یا تهی نباشد، از TypeError
احتمالی جلوگیری می کند.
از آنجایی که user.address
در این مورد وجود دارد، عبارت به مقدار user.address.city
، که 'New York'
است، ارزیابی میشود.
این تکنیک دسترسی ایمن به آپشن های تودرتو را تضمین میکند و به جلوگیری از خطاهای زمان اجرا در مواردی که ممکن است اشیاء به طور کامل پر نشده یا آنطور که انتظار داریم که ساختار پیدا نکنند، کمک میکند.
نتیجه
اتصال کوتاه می تواند گردش کار توسعه شما را تا حد زیادی افزایش دهد.
شما می توانید این مفاهیم را در پروژه های خود تمرین کنید تا در استفاده موثر از رفتار اتصال کوتاه جاوا اسکریپت مهارت داشته باشید.
ارسال نظر