Professional Documents
Culture Documents
JavaScript Best Practices
JavaScript Best Practices
#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
انصلخ ادك سب
+
دك اد ىز دحاو تسوب ىف اوس مهعمجا نكمم ةينات طاقن
ادك اد ىز دحاو تسوب
#ahmed0saber