Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
665 commits
Select commit Hold shift + click to select a range
bd0921b
Merge pull request #2833 from ArSn/ArSn-add-the-1
iliakan Jan 21, 2022
34ab022
minor fixes
iliakan Jan 21, 2022
d7f7998
Merge pull request #2816 from joaquinelio/patch-9
iliakan Jan 21, 2022
d5f1b4a
Merge pull request #2810 from lankerened/master
iliakan Jan 21, 2022
36788a5
Merge pull request #2758 from KennethKinLum/patch-13
iliakan Jan 21, 2022
1dc6dfb
Merge pull request #2614 from jonathanlu31/patch-1
iliakan Jan 21, 2022
674a9a4
Correction to precedence levels
sudo-make-coffee Jan 22, 2022
82e5d13
fix:Add missing test #2826 & fix related solution
Omid-Heydarzadeh Jan 22, 2022
025f588
Merge pull request #2837 from Omid-Heidarzadeh/bugfix-2826-add-missin…
iliakan Jan 22, 2022
bae0ef4
Merge pull request #2836 from erolaliyev/patch-1
iliakan Jan 24, 2022
804b6b0
fix formatting, change wording for clarity
robertmcabee Jan 24, 2022
779aad7
fixes operator precedence
ruslauz Jan 25, 2022
5d832d9
Fixes localStorage spec link
ruslauz Jan 25, 2022
824bc96
Include "us" in article sentence
Jan 26, 2022
69cd457
minor fix
Omid-Heydarzadeh Jan 28, 2022
639229e
Updated unary operator precedence explanation
jovton Jan 28, 2022
041bbb2
Update article.md
ruslauz Jan 28, 2022
0f74827
minor fixes
iliakan Jan 29, 2022
dd3c7a4
doc-fix: Modified a misplaced comma
Sen-442b Jan 29, 2022
a678674
images
iliakan Feb 3, 2022
9fce97b
minor fixes
iliakan Feb 3, 2022
31d2b33
Merge pull request #2838 from robertmcabee/master
iliakan Feb 3, 2022
e9caaab
Merge pull request #2847 from Sen-442b/patch-1
iliakan Feb 3, 2022
3ce3f3d
Merge pull request #2846 from jovton/master
iliakan Feb 3, 2022
cf49dd9
Merge pull request #2845 from Omid-Heidarzadeh/minorfix
iliakan Feb 3, 2022
d92b1a0
Merge pull request #2841 from justinpage/update-constructor-new-article
iliakan Feb 3, 2022
00bfa6d
Merge pull request #2840 from ruslauz/fix/local-storage-spec-link
iliakan Feb 3, 2022
ab0f35b
Merge branch 'master' into fix/operator-precedence
iliakan Feb 3, 2022
843f945
Merge pull request #2839 from ruslauz/fix/operator-precedence
iliakan Feb 3, 2022
9c74908
minor fixes
iliakan Feb 3, 2022
fc7bfbb
Update article.md
leviding Feb 4, 2022
e1be207
Update article.md
mamonaki Feb 4, 2022
4db69b4
minor fixes
iliakan Feb 4, 2022
1f92729
minor fixes
iliakan Feb 4, 2022
f2e4db7
minor fixes
iliakan Feb 4, 2022
fb07094
Update blob article.md
buynao Feb 5, 2022
7647ab9
minor fixes
iliakan Feb 6, 2022
533d54d
Merge pull request #2853 from leviding/patch-39
iliakan Feb 6, 2022
d159503
Merge pull request #2854 from lankerened/patch-1
iliakan Feb 6, 2022
c9063dc
Merge pull request #2857 from buynao/master
iliakan Feb 6, 2022
9a2981c
minor fixes
iliakan Feb 6, 2022
f95671c
minor fixes
iliakan Feb 6, 2022
71da17e
minor fixes
iliakan Feb 6, 2022
8d7a9dd
update webpack url
Feb 6, 2022
5315ba5
docs: minor grammar fix and link update
huyenltnguyen Feb 7, 2022
9628391
Update article.md
leviding Feb 7, 2022
1e1f04f
Merge pull request #2864 from leviding/patch-40
iliakan Feb 7, 2022
bf7eb93
GB unit symbol
joaquinelio Feb 7, 2022
d7c8c75
Merge pull request #2866 from joaquinelio/patch-9
iliakan Feb 8, 2022
efbe490
Add mention of radio buttons
vabushkevich Feb 9, 2022
d5cce94
[Fix] Convert message from Buffer to String
umakantv Feb 10, 2022
2921673
minor fixes
iliakan Feb 12, 2022
c68cb11
Update test.js
skaunov Feb 15, 2022
79a1b92
Update article.md
leviding Feb 16, 2022
6eba062
Merge pull request #2872 from umakantv/patch-1
iliakan Feb 17, 2022
883bd60
Merge pull request #2881 from leviding/patch-42
iliakan Feb 18, 2022
d3bfbe3
Merge pull request #2880 from skaunov/patch-1
iliakan Feb 18, 2022
54bc577
Merge pull request #2868 from vabushkevich/patch-1
iliakan Feb 18, 2022
39da5f8
Merge pull request #2862 from huyenltnguyen/docs/link
iliakan Feb 18, 2022
e2f9e58
Merge pull request #2861 from marahmanjs/patch-1
iliakan Feb 18, 2022
16ace5a
Fix LI content numbers
Vitruvius21 Feb 18, 2022
e1db5dc
Missed exclamation mark
Rnbsov Feb 20, 2022
bb41c39
Merge pull request #2883 from Vitruvius21/patch-1
iliakan Feb 21, 2022
2cca9a9
Merge pull request #2885 from Rnbsov/patch-2
iliakan Feb 21, 2022
bfffb32
Update task.md
QiyanYu Feb 24, 2022
74563ba
added a link to wikipedia
Rnbsov Feb 24, 2022
22c30fe
mdn link
joaquinelio Feb 26, 2022
8e48598
added a possibly missing exclamation mark
Rnbsov Feb 28, 2022
21d5bc7
fix: replace `form/multipart` with `multipart/form-data`
vabushkevich Mar 4, 2022
3a98822
Perhaps it would be more correct
Rnbsov Mar 6, 2022
fbe6e30
missing a dot
Rnbsov Mar 6, 2022
d8ba31d
Delete ; after function declaration
Rnbsov Mar 11, 2022
da9c76f
add missed ;
Rnbsov Mar 11, 2022
11e8294
Update article.md
joaquinelio Mar 13, 2022
ae0a73f
Bugfix:binary-arrays/concat/solution
Omid-Heydarzadeh Mar 15, 2022
fe23339
Update article.md
guneethind Mar 17, 2022
6eff54a
Update article.md
apoorvachikara Mar 20, 2022
f613e03
Maybe it should be marked as code
Rnbsov Mar 21, 2022
bf6d3c9
minor fixes
iliakan Mar 22, 2022
6e51574
Fixed the display on the site
Rnbsov Mar 22, 2022
39aca70
fix missed line breaks
Rnbsov Mar 22, 2022
9e210b7
minor fixes
iliakan Mar 24, 2022
bf510dc
minor fixes
iliakan Mar 24, 2022
6d29218
minor fixes
iliakan Mar 24, 2022
7ae1e57
minor fixes
iliakan Mar 24, 2022
f3aeacc
minor fixes
iliakan Mar 24, 2022
7809168
minor fixes
iliakan Mar 24, 2022
d07d5df
minor fixes
iliakan Mar 24, 2022
6edb240
minor fixes
iliakan Mar 24, 2022
741d90c
minor fixes
iliakan Mar 25, 2022
ed6bf65
fix units
Rnbsov Mar 28, 2022
413def7
fix typo in the summary section
gnopor Mar 29, 2022
4585dbb
minor fixes
iliakan Mar 30, 2022
f89bbc0
minor fixes
iliakan Mar 30, 2022
72e958b
minor fixes
iliakan Mar 30, 2022
de4f81e
Update optional-chaining/article.md
glebmikulko Mar 30, 2022
63ca152
clientTop image
iliakan Mar 30, 2022
b1607f5
typo
joaquinelio Mar 31, 2022
45934de
Merge pull request #2938 from joaquinelio/patch-10
iliakan Mar 31, 2022
e1b3dfa
minor fixes
iliakan Apr 6, 2022
ac7daa5
minor fixes
iliakan Apr 6, 2022
cb2d511
Docs: minor grammer fix
sanketshah19 Apr 9, 2022
10fd8be
add comma
Rnbsov Apr 10, 2022
de9fcf8
just add comma
Rnbsov Apr 11, 2022
2c8e9e2
fix bitwise hyperlink to mdn
pzolo85 Apr 12, 2022
6af9a2e
Correct mis-use of "it's"
fredden Apr 13, 2022
6b5749b
closes #2951
iliakan Apr 14, 2022
0cda49b
Merge pull request #2909 from Rnbsov/patch-10
iliakan Apr 14, 2022
58ef96a
Merge pull request #2950 from fredden/its
iliakan Apr 14, 2022
61f79f4
at method
iliakan Apr 14, 2022
2f194b2
Merge pull request #2947 from pzolo85/patch-1
iliakan Apr 14, 2022
78d5a1b
Merge pull request #2945 from Rnbsov/patch-24
iliakan Apr 14, 2022
a3273fb
Merge pull request #2942 from Rnbsov/patch-22
iliakan Apr 14, 2022
68dea68
Merge pull request #2913 from Rnbsov/patch-12
iliakan Apr 14, 2022
85d07ab
Merge pull request #2914 from Rnbsov/patch-13
iliakan Apr 14, 2022
ddb2b10
Merge pull request #2917 from Omid-Heidarzadeh/bugfix
iliakan Apr 14, 2022
bb0e360
Merge pull request #2922 from guneethind/patch-1
iliakan Apr 14, 2022
1d22a35
Merge pull request #2926 from apoorvachikara/master
iliakan Apr 14, 2022
613e921
closes #2910
iliakan Apr 14, 2022
246156d
minor fixes
iliakan Apr 14, 2022
ed664f8
minor fixes
iliakan Apr 14, 2022
3c5cc8e
Merge pull request #2929 from Rnbsov/patch-18
iliakan Apr 14, 2022
a5e34ba
Merge pull request #2930 from Rnbsov/patch-21
iliakan Apr 14, 2022
aac4d48
Merge pull request #2933 from Rnbsov/patch-19
iliakan Apr 14, 2022
ff2bbc8
Merge pull request #2935 from gnopor/patch-1
iliakan Apr 14, 2022
094b15b
Merge pull request #2936 from glebmikulko/patch-4
iliakan Apr 14, 2022
c49b104
closes #2937
iliakan Apr 14, 2022
319f77d
Merge pull request #2941 from sanketshah19/master
iliakan Apr 14, 2022
d41fcbf
minor fixes
iliakan Apr 14, 2022
8831603
minor fixes
iliakan Apr 14, 2022
7959adf
minor fixes
iliakan Apr 14, 2022
ed8e41a
Merge pull request #2908 from Rnbsov/patch-9
iliakan Apr 14, 2022
06b8b1d
Merge pull request #2906 from vabushkevich/form-multipart-fix
iliakan Apr 14, 2022
98b840e
minor fixes
iliakan Apr 14, 2022
603170b
Merge pull request #2899 from Rnbsov/patch-8
iliakan Apr 14, 2022
7826e83
Merge pull request #2897 from joaquinelio/patch-9
iliakan Apr 14, 2022
2c44dfb
minor fixes
iliakan Apr 14, 2022
cd4a72f
Merge pull request #2892 from Rnbsov/patch-5
iliakan Apr 14, 2022
837fbba
Merge pull request #2891 from QiyanYu/patch-1
iliakan Apr 14, 2022
6bf135a
closes #2931
iliakan Apr 15, 2022
0305a0b
minor fixes
iliakan Apr 15, 2022
7dc2a3c
minor fixes
iliakan Apr 15, 2022
afbd71d
minor fixes
iliakan Apr 15, 2022
4695216
minor fixes
iliakan Apr 15, 2022
9b95054
minor fixes
iliakan Apr 15, 2022
344c36f
minor fixes
iliakan Apr 15, 2022
c37c564
minor fixes
iliakan Apr 15, 2022
df822da
minor fixes
iliakan Apr 15, 2022
f7266b1
closes #2952
iliakan Apr 15, 2022
75f5b8a
minor fixes
iliakan Apr 15, 2022
c714756
minor fixes
iliakan Apr 15, 2022
291b5c0
minor fixes
iliakan Apr 16, 2022
cb3380c
Update index.html
leviding Apr 17, 2022
95498b4
Update index.html
leviding Apr 17, 2022
bb31eef
fix minor grammatical mistakes
TimothyRuszala Apr 17, 2022
0641648
Case sensitive word change
pavansuthar Apr 18, 2022
e424ad2
minor grammar fix
Rnbsov Apr 18, 2022
ee1daf7
Update article.md
Rnbsov Apr 18, 2022
888e4b9
Fix language in Methods of primitives task
Apr 19, 2022
1f81da0
Fix grammar in 'Symbol type'
Apr 19, 2022
d62faff
minor typos and English improvements
OmerBaddour Apr 20, 2022
adca4b3
minor fix, and explanation improvements
OmerBaddour Apr 21, 2022
68aa3ef
Update article.md
Rnbsov Apr 23, 2022
c3d92ec
add a comma
Rnbsov Apr 23, 2022
4aa9f81
replace side-effect with side effect
Rnbsov Apr 25, 2022
37057a7
Update article.md
Rnbsov Apr 26, 2022
f8d68ca
Update article.md
Rnbsov Apr 26, 2022
9bcd822
add a run button
Rnbsov Apr 29, 2022
cc9b015
add quotes
Rnbsov Apr 30, 2022
2cccadc
add highliting
Rnbsov Apr 30, 2022
b4379c5
Fixed grammatical error.
MondoBurrito May 1, 2022
c5c1d61
update localStorage size limit
Kirshach May 1, 2022
a1cd7b7
add missing break line
Rnbsov May 1, 2022
8eed0d7
Merge pull request #2964 from OmerBaddour/patch-1
iliakan May 3, 2022
bf83b15
remove one extra break line
Rnbsov May 3, 2022
5ef143d
closes #2982
iliakan May 3, 2022
9fcd38f
Merge pull request #2981 from Rnbsov/patch-34
iliakan May 3, 2022
6ce9e71
Merge pull request #2979 from Kirshach/patch-1
iliakan May 3, 2022
8149cb0
just add a comma
Rnbsov May 3, 2022
f65c25d
Merge pull request #2978 from MondoBurrito/patch-3
iliakan May 3, 2022
da3890a
Merge pull request #2977 from Rnbsov/patch-33
iliakan May 3, 2022
9119eca
Merge pull request #2976 from Rnbsov/patch-31
iliakan May 3, 2022
9c5a077
Merge pull request #2975 from Rnbsov/patch-30
iliakan May 3, 2022
ad6f23b
closes #2973
iliakan May 3, 2022
18a976b
Merge pull request #2972 from Rnbsov/patch-29
iliakan May 3, 2022
64d0c11
Merge pull request #2969 from Rnbsov/patch-28
iliakan May 3, 2022
ba44374
Merge pull request #2968 from Rnbsov/patch-27
iliakan May 3, 2022
87b5780
Merge pull request #2971 from Rnbsov/side-effect
iliakan May 3, 2022
0e47678
typo
Rnbsov May 3, 2022
1dc862c
Merge pull request #2966 from OmerBaddour/patch-2
iliakan May 3, 2022
12024bc
minor fixes
iliakan May 3, 2022
e9dfecc
Merge pull request #2986 from Rnbsov/patch-37
iliakan May 3, 2022
254f82f
Merge pull request #2985 from Rnbsov/patch-36
iliakan May 3, 2022
7af623e
Merge pull request #2984 from Rnbsov/patch-35
iliakan May 3, 2022
5015a76
Merge pull request #2963 from Luca1152/patch-2
iliakan May 3, 2022
e27d5ca
Merge pull request #2962 from Luca1152/patch-1
iliakan May 3, 2022
b60f9fc
Merge pull request #2960 from Rnbsov/patch-26
iliakan May 3, 2022
54c3fb9
Merge pull request #2959 from Rnbsov/patch-25
iliakan May 3, 2022
a3a1492
Merge pull request #2958 from pavansuthar/pavan-patch-01
iliakan May 3, 2022
c01efda
minor fixes
iliakan May 3, 2022
e74245e
Merge pull request #2957 from TimothyRuszala/patch-1
iliakan May 3, 2022
206485f
Merge pull request #2956 from leviding/patch-43
iliakan May 3, 2022
1402f70
remove one extra break line
Rnbsov May 6, 2022
d1f5023
Grammatical fix.
rebeccacremona May 6, 2022
3be0d3e
remove one extra break line
Rnbsov May 7, 2022
5fcdfc7
smth
Rnbsov May 7, 2022
2f56ecf
add a missed break line
Rnbsov May 7, 2022
d84ebc2
remove extra break lines
Rnbsov May 7, 2022
060d8fe
remove another one extra break line
Rnbsov May 7, 2022
35d465c
add comma
Rnbsov May 7, 2022
5fa8679
add dot
Rnbsov May 7, 2022
598ca68
👾 Update summary section
Rnbsov May 9, 2022
fcfc47a
minor improvements
OmerBaddour May 9, 2022
12d8d59
Update jsdoc link
erickyellott May 10, 2022
f26d06b
Polyfill article tweaks
erickyellott May 11, 2022
f7d079c
Small grammatical tweaks to garbage collection
erickyellott May 11, 2022
023b9d5
Merge pull request #3003 from yellottyellott/garbage-collection
iliakan May 12, 2022
e00e87c
Merge pull request #3001 from yellottyellott/yellottyellott-polyfill
iliakan May 12, 2022
012343b
Merge pull request #2990 from Rnbsov/patch-40
iliakan May 12, 2022
b80af11
Merge pull request #2998 from OmerBaddour/master
iliakan May 12, 2022
8b66d02
Merge pull request #2991 from rebeccacremona/rebeccacremona-patch-1
iliakan May 12, 2022
9aee5fc
Merge pull request #2993 from Rnbsov/patch-42
iliakan May 12, 2022
cff1531
Merge pull request #2999 from yellottyellott/patch-1
iliakan May 12, 2022
e5fc2f1
Merge pull request #2997 from Rnbsov/patch-44
iliakan May 12, 2022
89684c6
minor fixes
iliakan May 12, 2022
2281506
integrates #2996
iliakan May 12, 2022
79b9b84
closes #2988
iliakan May 12, 2022
b70d332
👾 smth
Rnbsov May 12, 2022
2901e0c
Merge pull request #2992 from Rnbsov/patch-41
iliakan May 12, 2022
d5e8b6d
minor fixes
iliakan May 21, 2022
1d6dc01
minor change
joaquinelio May 23, 2022
2efe0dc
Merge pull request #3022 from joaquinelio/patch-14
iliakan May 23, 2022
61888a2
👾 fix typo
Rnbsov Jun 7, 2022
d9ab4cf
👾 smth
Rnbsov Jun 7, 2022
fec6e3d
👾 smth
Rnbsov Jun 7, 2022
a794212
fix: typo
tanishk15sharma Jun 8, 2022
00689d3
Merge pull request #3042 from tanishk15sharma/patch-1
iliakan Jun 8, 2022
e8853e6
Update article.md
joaquinelio Jun 9, 2022
e740893
👾 add break line
Rnbsov Jun 10, 2022
c5dd0c1
Update article.md
josephharkins Jun 10, 2022
c794919
Spelling error
josephharkins Jun 12, 2022
5ff69b0
Grammer fix
josephharkins Jun 12, 2022
28bcd0d
Fix link to MDN bitwise operator docs in (2.18)Javascript specials
nalinipradash Jun 12, 2022
d9f4ff6
Merge pull request #3053 from nintendoit/patch-1
iliakan Jun 12, 2022
ca4c4bb
Merge pull request #3040 from Rnbsov/patch-59
iliakan Jun 12, 2022
08d5c71
Merge pull request #3051 from josephharkins/josephharkins-patch-2
iliakan Jun 12, 2022
669e6fc
Merge pull request #3049 from josephharkins/josephharkins-patch-1
iliakan Jun 12, 2022
8ddceab
Merge pull request #3048 from Rnbsov/patch-64
iliakan Jun 12, 2022
7bb6066
Merge pull request #3046 from joaquinelio/patch-15
iliakan Jun 12, 2022
8c26a19
merging all conflicts
iliakan Jun 13, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,4 @@ sftp-config.json
Thumbs.db


/svgs
26 changes: 25 additions & 1 deletion 1-js/01-getting-started/1-intro/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,17 @@

من الجيد تذكر المصطلحات الواردة أعلاه لأنها مستخدمة في مقالات المطورين على الإنترنت. سنستخدمهم أيضًا. على سبيل المثال ، إذا كانت "الميزة إكس مدعومة بواسطة في8" ، فمن المحتمل أنها تعمل في كروم و أوبرا.

<<<<<<< HEAD
```smart header="كيف تعمل المحركات؟"

المحركات معقدة. ولكن الأساسيات بسيطه .
=======
- [V8](https://en.wikipedia.org/wiki/V8_(JavaScript_engine)) -- in Chrome, Opera and Edge.
- [SpiderMonkey](https://en.wikipedia.org/wiki/SpiderMonkey) -- in Firefox.
- ...There are other codenames like "Chakra" for IE, "JavaScriptCore", "Nitro" and "SquirrelFish" for Safari, etc.

The terms above are good to remember because they are used in developer articles on the internet. We'll use them too. For instance, if "a feature X is supported by V8", then it probably works in Chrome, Opera and Edge.
>>>>>>> 7bb6066eb6ea3a030b875cdc75433c458f80997e

١. يقرأ ("يحلّل") المحرك (المثبت إذا كان متصفحًا) السكريبت.

Expand Down Expand Up @@ -59,7 +67,11 @@
- الحصول على ملفات تعريف الارتباط وتعيينها ، وطرح الأسئلة على الزائر ، وإظهار الرسائل.
- تذكر البيانات الموجودة على جانب العميل ("التخزين المحلي").

<<<<<<< HEAD
## ما الذي لا يمكن لجافا سكريبت في المتصفح فعله؟
=======
JavaScript's abilities in the browser are limited for the sake of a user's safety. The aim is to prevent an evil webpage from accessing private information or harming the user's data.
>>>>>>> 7bb6066eb6ea3a030b875cdc75433c458f80997e

إمكانيات جافا سكريبت في المتصفح محدودة من أجل سلامة المستخدم. الهدف هو منع صفحة ويب شريرة من الوصول إلى المعلومات الخاصة أو الإضرار ببيانات المستخدم.

Expand All @@ -86,9 +98,15 @@
هناك على الأقل *ثلاثة* أشياء رائعة حول جافا سكريبت:

```compare
<<<<<<< HEAD
+ تكامل تام مع HTML / CSS.
+ الأشياء البسيطة تتم ببساطة.
+ مدعوم من قبل جميع المتصفحات الرائدة وتمكينه تلقائيا.
=======
+ Full integration with HTML/CSS.
+ Simple things are done simply.
+ Supported by all major browsers and enabled by default.
>>>>>>> 7bb6066eb6ea3a030b875cdc75433c458f80997e
```

جافا سكريبت هي تقنية المتصفح الوحيدة التي تجمع بين هذه الأشياء الثلاثة.
Expand Down Expand Up @@ -120,6 +138,12 @@

## ملخص

<<<<<<< HEAD
- تم إنشاء جافا سكريبت في البداية كلغة للمتصفح فقط ، ولكنها تُستخدم الآن في العديد من البيئات الأخرى أيضًا.
- تتمتع جافا سكريبت اليوم بمكانة فريدة باعتبارها لغة المتصفح الأكثر استخدامًا مع تكاملها التام مع HTML / CSS.
- هناك العديد من اللغات التي يتم "تحويلها" إلى جافا سكريبت وتوفر ميزات معينة. يوصى بإلقاء نظرة عليهم ، على الأقل لفترة وجيزة ، بعد إتقان جافا سكريبت.
- هناك العديد من اللغات التي يتم "تحويلها" إلى جافا سكريبت وتوفر ميزات معينة. يوصى بإلقاء نظرة عليهم ، على الأقل لفترة وجيزة ، بعد إتقان جافا سكريبت.
=======
- JavaScript was initially created as a browser-only language, but it is now used in many other environments as well.
- Today, JavaScript has a unique position as the most widely-adopted browser language, fully integrated with HTML/CSS.
- There are many languages that get "transpiled" to JavaScript and provide certain features. It is recommended to take a look at them, at least briefly, after mastering JavaScript.
>>>>>>> 7bb6066eb6ea3a030b875cdc75433c458f80997e
7 changes: 7 additions & 0 deletions 1-js/01-getting-started/3-code-editors/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,14 @@
- [Notepad++](https://notepad-plus-plus.org/) (الويندوز، مجاني).
- [Vim](http://www.vim.org/) و [Emacs](https://www.gnu.org/software/emacs/) رائعة إذا كنت تعرف كيفية استخدامها.

<<<<<<< HEAD
## دعونا لا نتشاجر
=======
- [Atom](https://atom.io/) (cross-platform, free).
- [Sublime Text](http://www.sublimetext.com) (cross-platform, shareware).
- [Notepad++](https://notepad-plus-plus.org/) (Windows, free).
- [Vim](http://www.vim.org/) and [Emacs](https://www.gnu.org/software/emacs/) are also cool if you know how to use them.
>>>>>>> 7bb6066eb6ea3a030b875cdc75433c458f80997e

المحررات أعلاه هي التي نقوم باستخدامها أنا وأصدقائي، والذين أعتقد أنهم مطورون جيدون يستخدمونها منذ وقت طويل وتسعدهم.

Expand Down
4 changes: 4 additions & 0 deletions 1-js/01-getting-started/4-devtools/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,11 @@

يفضل معظم المطورون العمل على متصفِّحي Chrome أو FireFox لاحتوائهما على أفضل أدوات المطوّر. توفر المتصفِّحات الأخرى أيضًا مجموعة أدوات للمطوّر والتي من الممكن أن تحتوي على مزايا خاصة. لكن عادةً ما تحاول اللحاق بمتصفِّحي Chrome و FireFox الأفضل من هذه الناحية. يفضل المطوّرون بشكل عام العمل على متصفِّح واحد وينتقلون إلى متصفِّح آخر عندما تكون المشكلة التي يعملون عليها محدَّدة بهذا المتصفِّح.

<<<<<<< HEAD
بناءً على ذلك، نجد أنَّ أدوات المطور مهمة للغاية لما تمتلكه من مزايا تساعدك أثناء مسيرتك في تطوير الويب عبر JavaScript. سنتعلم في البداية طريقة فتحها، واستخدامها لاستكشاف الأخطاء، وتشغيل تعليمات JavaScript ضمنها.
=======
Developer tools are potent; they have many features. To start, we'll learn how to open them, look at errors, and run JavaScript commands.
>>>>>>> 7bb6066eb6ea3a030b875cdc75433c458f80997e

أدوات المطور قوية, لديها العديد من الميزات. للبدء, سنتعلم كيفية فتحها ، والنظر في الأخطاء ، وتشغيل أوامر جافا سكريبت.

Expand Down
4 changes: 4 additions & 0 deletions 1-js/02-first-steps/01-hello-world/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,11 @@
<script src="/path/to/script.js"></script>
```

<<<<<<< HEAD
هنا، `/path/to/script.js` هو مسار منفرد للنص البرمجي من جذر الموقع. يمكن أيضاً توفير مسار نسبي من خلال الصفحة الحالية. على سبيل المثال، `src="script.js"` تعني أن الملف `"script.js"` في نفس المجلد.
=======
Here, `/path/to/script.js` is an absolute path to the script from the site root. One can also provide a relative path from the current page. For instance, `src="script.js"`, just like `src="./script.js"`, would mean a file `"script.js"` in the current folder.
>>>>>>> 7bb6066eb6ea3a030b875cdc75433c458f80997e

يمكن أن نعطي المسار الكامل أيضاً. على سبيل المثال :

Expand Down
56 changes: 56 additions & 0 deletions 1-js/02-first-steps/02-structure/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ alert(3+
قريبًا خلال الشيفرات التي ستكتبها).
إذا كنت ترغب في الاطلاع على مثال واقعي عن هذه الحالة، إليك الشيفرة البرمجية التالية:

<<<<<<< HEAD
```
[1, 2].foreach(alert)
```
Expand All @@ -55,10 +56,36 @@ alert(3+
```
alert("There will be an error")
[1 ,2].forEach(alert)
=======
The code outputs `6` because JavaScript does not insert semicolons here. It is intuitively obvious that if the line ends with a plus `"+"`, then it is an "incomplete expression", so a semicolon there would be incorrect. And in this case, that works as intended.

**But there are situations where JavaScript "fails" to assume a semicolon where it is really needed.**

Errors which occur in such cases are quite hard to find and fix.

````smart header="An example of an error"
If you're curious to see a concrete example of such an error, check this code out:

```js run
alert("Hello");

[1, 2].forEach(alert);
```

No need to think about the meaning of the brackets `[]` and `forEach` yet. We'll study them later. For now, just remember the result of running the code: it shows `Hello`, then `1`, then `2`.

Now let's remove the semicolon after the `alert`:

```js run no-beautify
alert("Hello")

[1, 2].forEach(alert);
>>>>>>> 7bb6066eb6ea3a030b875cdc75433c458f80997e
```
عند تنفيذ الشيفرة البرمجية آنذاك، سيتم إظهار التنبيه الأول فقط ثم سنحصل على خطأ. تعود الشيفرة البرمجية للعمل بشكل
صحيح مرة أخرى عند إضافة الفاصلة المنقوطة بعد التنبيه الأول:

<<<<<<< HEAD
```
alert("All fine now");
[1 ,2].forEach(alert)
Expand All @@ -72,6 +99,18 @@ alert("All fine now");

```
alert("There will be an error")[1, 2].forEach(alert)
=======
The difference compared to the code above is only one character: the semicolon at the end of the first line is gone.

If we run this code, only the first `Hello` shows (and there's an error, you may need to open the console to see it). There are no numbers any more.

That's because JavaScript does not assume a semicolon before square brackets `[...]`. So, the code in the last example is treated as a single statement.

Here's how the engine sees it:

```js run no-beautify
alert("Hello")[1, 2].forEach(alert);
>>>>>>> 7bb6066eb6ea3a030b875cdc75433c458f80997e
```
ولكنهما عبارتين برمجيتين منفصلتين وليستا عبارة واحدة، وبالتالي عملية الدمج في هذه الحالة خطأ. من الممكن أن تتكرر
هذه الحالة ضمن شروط أخرى.
Expand All @@ -87,7 +126,24 @@ alert("There will be an error")[1, 2].forEach(alert)
المائلين على نفس السطر تعليقًا. ومن الممكن أن يشغل التعليق سطرًا كاملًا أو يأتي التعليق بعد العبارة البرمجية.
إليك المثال التالي الذي يشرح ما سبق:

<<<<<<< HEAD
```
=======
Looks weird, right? Such merging in this case is just wrong. We need to put a semicolon after `alert` for the code to work correctly.

This can happen in other situations also.
````

We recommend putting semicolons between statements even if they are separated by newlines. This rule is widely adopted by the community. Let's note once again -- *it is possible* to leave out semicolons most of the time. But it's safer -- especially for a beginner -- to use them.

## Comments [#code-comments]

As time goes on, programs become more and more complex. It becomes necessary to add *comments* which describe what the code does and why.

Comments can be put into any place of a script. They don't affect its execution because the engine simply ignores them.

**One-line comments start with two forward slash characters `//`.**
>>>>>>> 7bb6066eb6ea3a030b875cdc75433c458f80997e

// يمتد هذا التعليق على كامل السطر فقط

Expand Down
13 changes: 13 additions & 0 deletions 1-js/02-first-steps/04-variables/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,11 @@ let message;
let message;

*!*
<<<<<<< HEAD
message = 'Hello'; // تخزين النص
=======
message = 'Hello'; // store the string 'Hello' in the variable named message
>>>>>>> 7bb6066eb6ea3a030b875cdc75433c458f80997e
*/!*
```

Expand Down Expand Up @@ -192,8 +196,13 @@ let 1a; // لا نستطيع نبدأ الاسم برقم
let my-name; // الواصلات '-' غير مسموح بها في التسمية
```

<<<<<<< HEAD
```smart header="الملاحظه المهمه"
المتغيرات التي تُسمي `apple` و `AppLE` يكونوا متغيريين مختلفين تماما
=======
```smart header="Case matters"
Variables named `apple` and `APPLE` are two different variables.
>>>>>>> 7bb6066eb6ea3a030b875cdc75433c458f80997e
```

````smart header="يُسمح باستخدام الأحرف غير اللاتينية ، ولكن لا يُنصح بها"
Expand Down Expand Up @@ -299,7 +308,11 @@ const pageLoadTime = /* الوقت اللازم لتحضير صفحة الويب

قيمة `pageLoadTime` غير معرفه في بداية تحضير الصفحة, لذلك من الطبيعي تسميتها. ولكنها مازالت ثابت لانها لم تتغير بعد التعريف.

<<<<<<< HEAD
بمعنى آخر ، تُستخدم الثوابت التي تحمل أسماء كبيرة فقط كأسماء مستعارة لقيم "الثابت الترميز".
=======
In other words, capital-named constants are only used as aliases for "hard-coded" values.
>>>>>>> 7bb6066eb6ea3a030b875cdc75433c458f80997e

## تسمية الاشياء بشكل صحيح

Expand Down
42 changes: 40 additions & 2 deletions 1-js/02-first-steps/05-types/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,13 +47,23 @@ n = 12.345;
alert( "not a number" / 2 ); // NaN مثل هذه القسمة خاطئة
```

<<<<<<< HEAD
`NaN` لزجة. أي عملية تتم على `NaN` ترجع `NaN`:
=======
`NaN` is sticky. Any further mathematical operation on `NaN` returns `NaN`:
>>>>>>> 7bb6066eb6ea3a030b875cdc75433c458f80997e

```js run
alert( "not a number" / 2 + 5 ); // NaN
alert( NaN + 1 ); // NaN
alert( 3 * NaN ); // NaN
alert( "not a number" / 2 - 1 ); // NaN
```

<<<<<<< HEAD
لذلك إذا وجدت `NaN` في أي مكان في تعبير حسابي تنتشر في النتيجة بأكملها.
=======
So, if there's a `NaN` somewhere in a mathematical expression, it propagates to the whole result (there's only one exception to that: `NaN ** 0` is `1`).
>>>>>>> 7bb6066eb6ea3a030b875cdc75433c458f80997e

```smart header="العمليات الرياضية أمنة"
القيام بالرياضيات "أمن" في جافا سكربت. نستطيع القيام بأي شئ: القسمة على صفر و معاملة النصوص الغير الرقمية على أنها أرقام و إلخ.
Expand All @@ -65,7 +75,7 @@ n = 12.345;

سنرى المزيد من التعامل مع الأرقام خلال هذا الفصل <info:number>.

## BigInt
## BigInt [#bigint-type]

في جافا سكريبت، النوع "number" لا يمثل الأعداد الصحيحة أكبر من <code>(2<sup>53</sup>-1)</code> (و هو `9007199254740991`)، أو أقل من <code>-(-2<sup>53</sup>-1)</code> للأرقام السالبة. إنها قيود فنية ناتجة عن تمثيلهم الداخلي.

Expand Down Expand Up @@ -213,6 +223,7 @@ alert(age); // "undefined"

معامل `typeof` يرجع نوع قيمة المدخلات. إنه مفيد عندما نريد معالجة قيم من أنواع مختلفة بإختلاف أو لمجرد إجراد فحص سريع للنوع .

<<<<<<< HEAD
إنه يدعم نوعين من بناء الكود:

1. كمعامل: `typeof x`.
Expand All @@ -221,6 +232,9 @@ alert(age); // "undefined"
بكلمات أخرى ، إنها تعمل بأقواس أو بدون أقواس. النتيجة ستكون واحدة.

إستدعاء `typeof x` يرجع نص بإسم نوع القيمة:
=======
A call to `typeof x` returns a string with the type name:
>>>>>>> 7bb6066eb6ea3a030b875cdc75433c458f80997e

```js
typeof undefined // "undefined"
Expand Down Expand Up @@ -250,11 +264,29 @@ typeof alert // "function" (3)

الثلاث سطور الأخيرة قد تحتاج لتوضيح إضافي:

<<<<<<< HEAD
1. `Math` كائن مدمج داخلياً لتدعيم العمليات الرياضية. سنتعلمه في الفصل <info:number>. هنا، يخدم فقط كمثال للكائن.
2. نتيجة `typeof null` هي `"object"`. هذا رسمياً يعتبر خطأ في سلوك `typeof` ، يأتي من الأيام الأولى لجافا سكربت وتم الحفاظ عليه من أجل التوافقية. قطعاً `null` ليس كائن. إنه قيمة خاصة بنوع منفصل خاص.
3. نتيجة `typeof alert` هي `"function"`، لأن `alert` دالة. سندرس الدوال في الفصول القادمة وهناك سنرى أنه لا توجد نوع خاص "دالة" في جافا سكربت. الدوال الدوال تنتمي للنوع كائن. لكن `typeof` تعاملهم بشكل مختلف، يرجع `"دالة"`. هذا أيضاً يأتي من الأيام الأولى لجافا سكربت. فنياً، مثل هذا السلوك غير صحيح، لكن قد يكون ملائم في الممارسة.

## خلاصة
=======
1. `Math` is a built-in object that provides mathematical operations. We will learn it in the chapter <info:number>. Here, it serves just as an example of an object.
2. The result of `typeof null` is `"object"`. That's an officially recognized error in `typeof`, coming from very early days of JavaScript and kept for compatibility. Definitely, `null` is not an object. It is a special value with a separate type of its own. The behavior of `typeof` is wrong here.
3. The result of `typeof alert` is `"function"`, because `alert` is a function. We'll study functions in the next chapters where we'll also see that there's no special "function" type in JavaScript. Functions belong to the object type. But `typeof` treats them differently, returning `"function"`. That also comes from the early days of JavaScript. Technically, such behavior isn't correct, but can be convenient in practice.

```smart header="The `typeof(x)` syntax"
You may also come across another syntax: `typeof(x)`. It's the same as `typeof x`.

To put it clear: `typeof` is an operator, not a function. The parentheses here aren't a part of `typeof`. It's the kind of parentheses used for mathematical grouping.

Usually, such parentheses contain a mathematical expression, such as `(2 + 2)`, but here they contain only one argument `(x)`. Syntactically, they allow to avoid a space between the `typeof` operator and its argument, and some people like it.

Some people prefer `typeof(x)`, although the `typeof x` syntax is much more common.
```

## Summary
>>>>>>> 7bb6066eb6ea3a030b875cdc75433c458f80997e

يوجد 8 أنواع للبيانات في جافا سكربت.

Expand All @@ -269,8 +301,14 @@ typeof alert // "function" (3)

معامل `typeof` يسمح لنا بمعرفة نوع البيانات الموجودة بداخل المتغيرة.

<<<<<<< HEAD
- له شكلان: `typeof x` أو `typeof(x)`.
- يرجع نص بإسم نوع البيانات، مثل `"string"`.
- من أجل `null` يرجع `"object"` - هذا خطأ في اللغة، إنه ليس في الحقيقة كائن.
=======
- Usually used as `typeof x`, but `typeof(x)` is also possible.
- Returns a string with the name of the type, like `"string"`.
- For `null` returns `"object"` -- this is an error in the language, it's not actually an object.
>>>>>>> 7bb6066eb6ea3a030b875cdc75433c458f80997e

في الفصول القادمة سنركز على القيم البدائية وعندما نكون متألفين معاهم، سنتجه للكائنات.
4 changes: 4 additions & 0 deletions 1-js/02-first-steps/07-type-conversions/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,11 @@
هناك أيضاً حالات نحتاج إلى تصريح تحويل القيمة إلى النوع المطلوب.

```smart header="Not talking about objects yet"
<<<<<<< HEAD
في هذا الفصل، لن نغطي الكائنات. الآن سوف نتحدث عن الأنواع الأساسية.
=======
In this chapter, we won't cover objects. For now, we'll just be talking about primitives.
>>>>>>> 7bb6066eb6ea3a030b875cdc75433c458f80997e

فيما بعد، بعد أن نتعلم عن الكائنات، في هذا الفصل <info:object-toprimitive> سنرى كيف تتلائم الكائنات فيه.
```
Expand Down
Loading