شیوا توکل
شیوا توکل
خواندن ۲ دقیقه·۵ سال پیش

چیزهایی که از جاوااسکریپت نمیدانیم (قسمت اول)

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

اگر قبلا کتاب you don't know js را خوانده اید احتمالا نیازی به خواندن این مطلب ندارید.

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

1.logical operators

در بسیاری از زبان ها وقتی از AND و OR استفاده میشود مقادیر true یا false برگردانده میشود اما زبان جاوااسکریپت یکی از operand ها را بر میگرداند .

عملگر AND نسبت به OR اولویت دارد.
همچنین بجای ternary expresssion ها و if-else میتوانیم از AND و OR استفاده کنیم .

در زیر معادل ternary expression ها را مشاهده میکنید:

a ? a : b ==> a||b
a ? b : a ==> a&&b

یکی دیگر از operator های منطقی که البته به ندرت استفاده میشود ~ است که معادل (x)- است.

2.type conversion

علاوه بر متد های valueOf ، جاوا اسکریپت از دوراه برای تبدیل type های مختلف استفاده میکند.

.cast
.coercion

طریقه عملکرد هرکدام را در تصویر پایین میبینید.

3.falsy values

شرط ها یکی از پایه ای ترین ساختار ها در زبان برنامه نویسی هستند که از آن ها بسیار استفاده میکنیم و مهمه که بدونیم درهر زبان به چه صورت رفتار میکنه.
مقداری که شرط ها بر میگردانند falsy یا truthy است .در زیر چند مقدار falsy را مشاهده میکنید:

1- empty string ==> ' '
2- undefined
3- boolaen value ==> false
4- null
5- number value ==> 0
6- number value ==> -0
7-not a number value ==> NAN

هر مقدار که جز موارد بالا نباشد truthy حساب میشود.
حتی :

empty literal object ==> { }
empty array ==> [ ]
false string ==> 'false'

4.scope and IIFE

اولین باری که شروع به نوشتن کد های جاوااسکریپت میکنید احتمالا کسی به شما میگوید اینطور نوشتن
(در عکس پایین) را دنبال کنید چون بهتر کار میکند .

این مثل این میمونه که یک function را بلافاصله فراخوانی کنیم.
این یک IIFE است یعنی ==> Immediately Invoked Function Expression
و در واقع بهتر عمل نمیکند اما از برخورد متغیر ها جلوگیری میکند.

5.object

آبجکت به ما کمک میکند که چند variable را با یک عنوان جمع آوردی کنیم .
دوراه برای دسترسی به مشخصات object وجود دارد .

1-dot syntax
2-array syntax


اگر این مقاله برای شما مفید بود در انتشار آن کوتاهی نکنید.
شیوا توکل | 22 فروردین 99

jsjavascriptجاوااسکریپت
Front-End Developer
شاید از این پست‌ها خوشتان بیاید