متن خبر

اتصال کوتاه در جاوا اسکریپت چگونه کار می کند؟

اتصال کوتاه در جاوا اسکریپت چگونه کار می کند؟

شناسهٔ خبر: 450119 -




در جاوا اسکریپت، درک درستی و ارزش های نادرست برای نوشتن کد کارآمد و مختصر ضروری است. در ترکیب با مفهوم اتصال کوتاه، توسعه دهندگان می توانند راه حل های ظریفی برای چالش های برنامه نویسی رایج بنویسند.

در این راهنمای عملی، ارزش‌های درستی و نادرستی را تحلیل می‌کنیم و مکانیزم اتصال کوتاه در جاوا اسکریپت را درک می‌کنیم.

می توانید تمام کد منبع را از اینجا دریافت کنید.

فهرست مطالب

درک درستی و ارزش های نادرست

اتصال کوتاه در جاوا اسکریپت چیست؟

موارد استفاده عملی

نتیجه

درک درستی و ارزش های نادرست

در جاوا اسکریپت، هر مقدار زمانی که در زمینه بولی ارزیابی شود، یک تفسیر بولی ذاتی دارد. ارزش‌هایی که به 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' است، ارزیابی می‌شود.

این تکنیک دسترسی ایمن به آپشن های تودرتو را تضمین می‌کند و به جلوگیری از خطاهای زمان اجرا در مواردی که ممکن است اشیاء به طور کامل پر نشده یا آنطور که انتظار داریم که ساختار پیدا نکنند، کمک می‌کند.

نتیجه

اتصال کوتاه می تواند گردش کار توسعه شما را تا حد زیادی افزایش دهد.

شما می توانید این مفاهیم را در پروژه های خود تمرین کنید تا در استفاده موثر از رفتار اتصال کوتاه جاوا اسکریپت مهارت داشته باشید.

اگر بازخوردی دارید، در توییتر و لینکدین با من تماس بگیرید

خبرکاو

ارسال نظر




تبليغات ايهنا تبليغات ايهنا

تمامی حقوق مادی و معنوی این سایت متعلق به خبرکاو است و استفاده از مطالب با ذکر منبع بلامانع است