You are on page 1of 26

JavaScript Best Practices

Your step by step guide to write


a better code and avoid
unexpected results, that may
cause bugs.

#ahmed0saber
1 - Avoid Global Variables

#ahmed0saber
global variabl R
function D
global scop %

printCounteI
i is no erro loo a
define
le va S
const ‫ ىا اوج ريغتم ىا فرعت ناشع‬function
function.

#ahmed0saber
2 - Avoid Using var

#ahmed0saber
‫‪va‬‬ ‫‪5‬‬
‫‪/‬‬
‫‪redeclar‬‬ ‫‪L‬‬
‫‪le‬‬ ‫(‬
‫ةلكشملا حلصت ردقتف ‪ ,‬رركتم ريغتملا مسا نا كمهفيه‬
‫نم انذقنتب ىللا ىه زروريالا ةركفلا ىلع
‪.‬ةلكشملا حلصت‬
‫‪bugs‬لا نم انذقنتب ىللا ىه زروريالا ةركفلا ىلع‬
‫‪bugs.‬لا ‪bug‬‬

‫‪#ahmed0saber‬‬
3 - Use const

#ahmed0saber
‫‪6‬‬
‫‪le‬‬ ‫‪cons‬‬ ‫‪V‬‬
‫‪a‬‬
‫‪T‬‬
‫اعبط نكل ‪ ،‬الثم ‪ websiteViewsApiRoute‬ىز ريغتتب شم ةتباث ةميق ىد‬
‫ريغتي نكمم ‪currentUserApiRoute‬لا اعبط نكل ‪ ،‬الثم ‪websiteViewsApiRoute‬‬
‫‪ let‬هاعم مدختسن ىداعف ريغتي نكمم ‪currentUserApiRoute‬لا ‪currentUserApiRout‬‬
‫‪le‬‬ ‫صالخ انقفتا اننال ‪ var‬نع كملكه شم
‪ let.‬هاعم مدختسن ىداعف‬
‫‪va‬‬ ‫ىنات اهمدختسنه شم اننا صالخ انقفتا اننال ‪ var‬نع كملكه شم‬
‫‪.‬ىنات اهمدختسنه شم اننا‬

‫‪#ahmed0saber‬‬
‫‪4 - Declare Variables On The‬‬
‫‪Top‬‬
‫‪variable declaration‬‬ ‫‪e‬‬
‫‪h‬‬
‫بتكت ناشع و ‪ ,‬اهحسمتف ةمدختسم شم ةجاح مهيف اذا ددحت و ‪ ،‬ةلوهسب‬
‫‪ cleaner code‬بتكت ناشع و ‪ ,‬اهحسمتف ةمدختسم‬
‫فلملا ةيادب ىف قوف مهبتكته اعبط و
‪cleaner code.‬‬
‫‪C‬‬
‫‪acces‬‬ ‫‪ var‬ب نيلومعم شم مهنال ناكم ىا نم مه‪access‬ت ردقت ناشع‬
‫‪va‬‬ ‫‪ var.‬ب نيلومعم شم مهنال‬

‫‪#ahmed0saber‬‬
5 - Initialize Variables

#ahmed0saber
‫‪T‬‬
‫‪dat‬‬ ‫‪U‬‬
‫لا رش كيفكيه نكل و ‪ ،‬لبقتسملا ىف شطبغلتتم ناشع ‪ ،‬ريغتم لكل ‪type‬‬
‫‪O‬‬
‫‪undefineg‬‬
‫‪functio‬‬ ‫‪N‬‬
‫‪undefine‬‬ ‫‪1‬‬ ‫‪Q‬‬
‫‪Not A Numbe‬‬ ‫اد لكشلاب رطس لوا ىلخن لضفيف ‪ Not A Number ،‬ل راصتخا ىه ىللا ‪NAN‬‬
‫‪.‬اد لكشلاب رطس لوا ىلخن لضفيف‬
‫‪let score = 100‬‬
‫)‪ :‬رزويلل اعيجشت‬
‫‪#ahmed0saber‬‬
‫ةحارتسا جاتحم كلكش‬
‫\‬
‫‬
‫مظعم نال ‪ ،‬ادك شتلمعم ول لصحي نكمم ىللا ىا مهاف نوكت ناشع ‪ ،‬اوس‬
‫ناشع ادك شلمعتم كلوقتب تاحورشلا مظعم نال ‪ ،‬ادك شتلمعم ول لصحي‬
‫‪L‬‬
‫‪bug‬‬ ‫‪K‬‬
‫‪J‬‬
‫ لا نع ديعب لضفته و اعبط اد مالكلاب عنتقته شم‬
‫‪best practice‬‬ ‫‪ best practices‬لا نع ديعب‬

‫‪#ahmed0saber‬‬
6 - Declare Arrays And
Objects With const

#ahmed0saber
objec arra declar 1
cons L
data typ J
objec strin .
ke ‫لا‬key ‫ هعاتب‬، ‫ ةئيه ىف فيطل هيبنت كليجيه‬
erro ‫ ةئيه‬error

#ahmed0saber
7 - Don’t End Definition Of
Objects And Arrays With
Comma

#ahmed0saber
comm P
array definitio object definition ‫ لا وا‬array definition ‫ اهمسا‬trailing comma ‫ىلختب ىد و‬
trailing comm N
cras Internet Explorer &
objec 
arra M
comm ‫ همدختستب اسل‬، ‫لا طحنه شم‬comma ‫د‬
‫ىد‬

#ahmed0saber
8 - Avoid Using new

#ahmed0saber
J
strin Ahme consol H
ne .
objec String ‫ اهعون نوكيه‬object ، ‫ عم كلذك‬new Number ‫هريغ و‬
new Number ‫مهريغ و‬

#ahmed0saber
9 - Use === Instead Of ==

#ahmed0saber
‫‪E‬‬
‫‪valu‬‬ ‫‪inpu‬‬ ‫`‬
‫‪S‬‬
‫‪i‬‬ ‫@‬
‫‪tru‬‬ ‫‪ 100%) ،‬ضرع هيلع( ىناجم جتنم فيضيب رزويلا ربتعيه و ‪ true‬نوكيه ‪statement‬‬
‫‪10‬‬ ‫(‬
‫=لا مادختسا بنجتت لواحف ‪ ،‬مصخلا دعب جتنملا نمت شبتكم ناشع اد لك‬
‫==لا مادختسا بنجتت لواحف ‪ ،‬مصخلا‬

‫‪#ahmed0saber‬‬
10 - Use Parameter Defaults

#ahmed0saber
functio X
>
loo _
functio ru H
‫ مهنم‬، ‫ مصخ اهيلع شم تاجتنملا ضعب نكلو‬، ‫شاهلم نوكتب ىلاتلاب‬
‫ مصخ‬، ‫ شاهلم نوكتب ىلاتلاب‬salePercentage ، ‫ ىفف‬undefined ‫لخدتب‬
undefine salePercentage ، ‫ ىفف‬undefined ‫لا ظوبت لخدتب‬return value ‫لا ةعاتب‬function ،
functio return valu 6
i ‫ انلمعف‬if ‫ ب تناك ول ناشع ةطيسب‬undefined ‫ ب اهيلخن‬
undefined ‫ ب اهيلخن‬0

#ahmed0saber
‫نوكت نكمم رتكا ‪ parameters‬اندنع ول تاذلاب فيطل شم دوكلا لكش سب‬
‫‪parameter‬‬ ‫‬
‫لكل ‪ default value‬مدختسن اننأب ىد ةلكشملا لحن نكممف ‪undefined ،‬‬
‫‪default valu‬‬ ‫‪5‬‬
‫اد لكشلاب دوكلا ىقبي و ‪parameter ،‬‬

‫‪#ahmed0saber‬‬
11 - Avoid Using eval() And
innerHTML()
t
@
d
g
j
chat ap K
f
scrip ‫ بتاك ول‬script ، ‫ىناتلا رزويلا دنع ذفنتيه‬

#ahmed0saber
12 - Use Template Literals

#ahmed0saber
‫‪template literal‬‬ ‫‪R‬‬
‫‪strin‬‬ ‫‪S‬‬
‫‪J‬‬
‫‪H‬‬
‫‪concatenatio‬‬ ‫ةينات صيصنت تامالع حتفن و ‪ concatenation‬لمعن و صيصنتلا‬
‫ول لصحته لكاشم شيفم
‪.‬ةينات صيصنت تامالع‬
‫كدعاسته ىه نكل ‪ ،‬شاهتمدختسم ول لصحته لكاشم شيفم‬
‫ بتكت كدعاسته ىه نكل ‪ ،‬شاهتمدختسم‬
‫‪more readable and cleaner cod‬‬ ‫‪ more readable and cleaner code‬بتكت‬

‫‪#ahmed0saber‬‬
‫انصلخ ادك سب‬
‫‪+‬‬
‫دك اد ىز دحاو تسوب ىف اوس مهعمجا نكمم ةينات طاقن‬
‫ادك اد ىز دحاو تسوب‬

‫يالس رخال كلوصو ىلع كيل ةأفاكمك‬


‫ديالس رخال‬
‫‪topi‬‬ ‫هيب ةلاسر ىلتعبا ةنيعم ‪ topic‬نع اد ىز تسوب فوشت بباح ول‬
‫اهيب ةلاسر ىلتعبا ةنيعم‬

‫‪#ahmed0saber‬‬

You might also like