Skip to content

Commit a3f541d

Browse files
authored
Merge branch 'master' into async-iterators-generators
2 parents 67c3517 + 0a518fe commit a3f541d

File tree

177 files changed

+1298
-1066
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

177 files changed

+1298
-1066
lines changed

1-js/01-getting-started/1-intro/article.md

Lines changed: 20 additions & 17 deletions
Large diffs are not rendered by default.
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<!DOCTYPE html>
2+
<html>
3+
4+
<body>
5+
6+
<script>
7+
alert( "I'm JavaScript!" );
8+
</script>
9+
10+
</body>
11+
12+
</html>
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
2+
[html src="index.html"]

1-js/02-first-steps/02-structure/article.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ alert("একটি এরর তৈরি হবে")[1, 2].forEach(alert)
9494

9595
আমরা স্টেটমেন্টের শেষে সেমিকোলন দিতে পরামর্শ দেই, এমনকি যদি স্টেটমেন্টগুলো আলাদা লাইনেও হয়ে থাকে। এই রুলটি কমিউনিটিতে ব্যাপকভাবে গ্রহণ করা হয়েছে। আরও একবার এভাবে বলা যায় -- অধিকাংশ সময় সেমিকোলন ঊহ্য রাখা **সম্ভব**। কিন্তু এটি ব্যবহার করা নিরাপদ -- বিশেষ করে শিক্ষানবিশ/অনভিজ্ঞদের জন্য।
9696

97-
## কমেন্ট/মন্তব্য
97+
## কমেন্ট/মন্তব্য [#code-comments]
9898

9999
সময়ের সাথে সাথে প্রোগ্রামগুলো অধিক থেকে অধিকতর জটিল হতে থাকে। *কমেন্ট/মন্তব্য* লিখার মাধ্যমে কোড কি কাজ করে এবং কেন করে তা প্রয়োজনীয় হয়ে দাঁড়ায়।
100100

@@ -135,7 +135,7 @@ alert('হ্যালো');
135135
alert('ওয়ার্ল্ড');
136136
```
137137

138-
```smart header="হট-কী ব্যবহার করুন"
138+
```smart header="Use hotkeys!"
139139
অধিকাংশ এডিটরে, কোডের কোন অংশ কমেন্ট করতে, এক লাইনের কমেন্টের জন্য `key:Ctrl+/` হট-কী এবং একাধিক লাইনের কমেন্টের জন্য `key:Ctrl+Shift+/` হট-কী ব্যবহার করা হয় (কোডের অংশটি সিলেক্ট করে হট-কী প্রেস করা হয়)। ম্যাকের জন্য `key:Ctrl` এর পরিবর্তে `key:Cmd` ব্যবহার করে চেষ্টা করে দেখুন।
140140
```
141141

1-js/02-first-steps/06-type-conversions/article.md

Lines changed: 17 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -63,12 +63,12 @@ alert(age); // NaN, রূপান্তর হয়নি
6363

6464
সংখ্যা রুপান্তরের নিয়ম:
6565

66-
| ভ্যালু | পরিবর্তিত রুপ... |
67-
|-------|-------------|
68-
|`undefined`|`NaN`|
69-
|`null`|`0`|
70-
|<code>true&nbsp;&nbsp;false</code> | `1``0` |
71-
| `string` | স্ট্রিংয়ের শুরু ও শেষের স্পেস থেকে তা মুছে ফেলা হয়। বাকিটা ফাঁকা স্ট্রিং হলে, তা `0` হবে। নাহয় নাম্বারগুলি স্ট্রিং থেকে নেয়া হয়। এরর হলে `NaN` আসে। |
66+
| ভ্যালু | পরিবর্তিত রুপ... |
67+
| ----------------------------------- | ---------------------------------------------------------------------------------------------------- |
68+
| `undefined` | `NaN` |
69+
| `null` | `0` |
70+
| <code>true&nbsp;&nbsp;false</code> | `1``0` |
71+
| `string` | স্ট্রিংয়ের শুরু ও শেষের স্পেস থেকে তা মুছে ফেলা হয়। বাকিটা ফাঁকা স্ট্রিং হলে, তা `0` হবে। নাহয় নাম্বারগুলি স্ট্রিং থেকে নেয়া হয়। এরর হলে `NaN` আসে। |
7272

7373
Examples:
7474

@@ -81,18 +81,7 @@ alert( Number(false) ); // 0
8181

8282
এখানে জেনে রাখি `null``undefined` এক্ষেত্রে ভিন্ন আচরণ করে: `null` হয়ে যাবে শূন্য আর `undefined` হবে `NaN`.
8383

84-
````smart header="যোগ '+' স্ট্রিংসমূহকে একীভুত করে"
85-
প্রায় সব গানিতিক অপারেটর ভ্যালুকে সংখ্যায় রূপান্তর করে নেয়। তবে উল্লেখযোগ্য একটি ব্যতিক্রম হলো যোগ `+`, যদি এর দুপাশের একটি ভ্যালুও স্ট্রিং হয় তবে অপরটিও স্ট্রিং হয়ে যাবে
86-
87-
তখন এটি স্ট্রিংগুলাকে যুক্ত করে ফেলে:
88-
89-
```js run
90-
alert( 1 + '2' ); // '12' (ডানপাশে স্ট্রিং)
91-
alert( '1' + 2 ); // '12' (বামপাশে স্ট্রিং)
92-
```
93-
94-
এটা তখনই হয় যদি অন্তত একটি আর্গুমেন্ট স্ট্রিং থাকে, নাহয় তা সংখ্যায় রুপান্তরিত হয়ে যাবে।
95-
````
84+
বেশিরভাগ গাণিতিক অপারেটর এমন পরিবর্তন করে থাকে, আমরা পরবর্তি চ্যাপ্টার এ তা দেখবো।
9685

9786
## বুলিয়ান রূপান্তর
9887

@@ -134,21 +123,21 @@ alert( Boolean(" ") ); // স্পেস, এটাও true (স্ট্রি
134123
135124
রূপান্তর নীতি:
136125
137-
| ভ্যালু | বদলে যায়... |
138-
|-------|-------------|
139-
|`undefined`|`NaN`|
140-
|`null`|`0`|
141-
|<code>true&nbsp;/&nbsp;false</code> | `1 / 0` |
142-
| `string` | স্ট্রিংয়ে যা তাই আসে, স্ট্রিংয়ের শুরু ও শেষের স্পেস থেকে তা মুছে ফেলা হয়। বাকিটা ফাঁকা স্ট্রিং হলে, তা `0` হবে। নাহয় নাম্বারগুলি স্ট্রিং থেকে নেয়া হয়। এরর হলে `NaN` আসে। |
126+
| ভ্যালু | বদলে যায়... |
127+
| ----------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
128+
| `undefined` | `NaN` |
129+
| `null` | `0` |
130+
| <code>true&nbsp;/&nbsp;false</code> | `1 / 0` |
131+
| `string` | স্ট্রিংয়ে যা তাই আসে, স্ট্রিংয়ের শুরু ও শেষের স্পেস থেকে তা মুছে ফেলা হয়। বাকিটা ফাঁকা স্ট্রিং হলে, তা `0` হবে। নাহয় নাম্বারগুলি স্ট্রিং থেকে নেয়া হয়। এরর হলে `NaN` আসে। |
143132
144133
**`বুলিয়ানে রূপান্তর`** -- লজিকাল অপারেশনে হয়। আবার `Boolean(value)` দিয়েও করা যায।
145134
146135
Follows the rules:
147136
148-
| ভ্যালু | বদলে যায়... |
149-
|-------|-------------|
150-
|`0`, `null`, `undefined`, `NaN`, `""` |`false`|
151-
|অন্য যেকোন ভ্যালু| `true` |
137+
| ভ্যালু | বদলে যায়... |
138+
| ------------------------------------- | --------- |
139+
| `0`, `null`, `undefined`, `NaN`, `""` | `false` |
140+
| অন্য যেকোন ভ্যালু | `true` |
152141
153142
154143
প্রায় সব নীতিই বুঝা অ মনে রাখা সোজা। তবে কিছু কমন ভুল হলো:

1-js/02-first-steps/07-operators/article.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -138,17 +138,17 @@ Here's an extract from the [precedence table](https://developer.mozilla.org/en/J
138138
| Precedence | Name | Sign |
139139
|------------|------|------|
140140
| ... | ... | ... |
141-
| 16 | unary plus | `+` |
142-
| 16 | unary negation | `-` |
143-
| 14 | multiplication | `*` |
144-
| 14 | division | `/` |
141+
| 17 | unary plus | `+` |
142+
| 17 | unary negation | `-` |
143+
| 15 | multiplication | `*` |
144+
| 15 | division | `/` |
145145
| 13 | addition | `+` |
146146
| 13 | subtraction | `-` |
147147
| ... | ... | ... |
148148
| 3 | assignment | `=` |
149149
| ... | ... | ... |
150150

151-
As we can see, the "unary plus" has a priority of `16` which is higher than the `13` of "addition" (binary plus). That's why, in the expression `"+apples + +oranges"`, unary pluses work before the addition.
151+
As we can see, the "unary plus" has a priority of `17` which is higher than the `13` of "addition" (binary plus). That's why, in the expression `"+apples + +oranges"`, unary pluses work before the addition.
152152
153153
## Assignment
154154

1-js/02-first-steps/08-comparison/1-comparison-questions/solution.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ null === +"\n0\n" → false
1212

1313
কিছু কারণ:
1414

15-
1. অবশ্যই true বা ঠিক হবে।
16-
2. আভিধানিকভাবে তুলনা তাই false বা ভুল
15+
1. অবশ্যই true হবে।
16+
2. আভিধানিকভাবে তুলনা তাই false`"a"` `"p"` থেকে ছোট
1717
3. আবারও, আভিধানিকভাবে তুলনা, প্রথম স্ট্রিংয়ের `"2"` দ্বিতীয় স্ট্রিংয়ের `"1"` এর থেকে বড়।
1818
4. `null` এবং `undefined` একমাত্র একে অপরের সমান।
19-
5. যথাযথ সমতায় `===` দুটি ভ্যালু একই টাইপের হতে হয়। কিন্তু তারা ভিন্ন টাইপের
19+
5. যথাযথ সমতায় `===` দুটি ভ্যালু একই টাইপের হতে হয়। উভয় পাশের টাইপ ভিন্ন হলে false হবে
2020
6. এটি `(4)` নং এর মতো। `null` একমাত্র `undefined` এর সমান।
2121
7. দুটি ভিন্ন টাইপের ভ্যালু বা মান।

1-js/02-first-steps/11-logical-operators/2-alert-or/solution.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ alert( alert(1) || 2 || alert(3) );
66

77
alert কল করলে কোন মান রিটার্ন করে না. অথবা, এক কথায় undefined দেখায়।
88

9-
১। OR || অপারেশনে প্রথমে বাম দিক থেকে মূল্যায়ন করা হয়। সেজন্য এখানে প্রথম ফলাফল দেখায় 1
10-
২। `alert` দেখায় `undefined`, অথবা সত্য মানটির সন্ধানে দ্বিতীয় প্রতীকে যায়
11-
৩। দ্বিতীয় প্রতীক `2` সত্য হয়, সুতরাং এক্সিকিউশন স্থগিত, `2` ফিরে আসে এবং তারপরে বাইরের সতর্কতা দ্বারা দেখানো হয়।
9+
১। OR || অপারেশনে প্রথমে বাম দিক `alert(1)` মূল্যায়ন করে। সেজন্য এখানে প্রথম ফলাফল দেখায় `1`
10+
২। `alert` `undefined` রিটার্ন করে, সুতরাং OR সত্য মানের খোঁজে দ্বিতীয় অপারেন্ড এ যায়
11+
৩। দ্বিতীয় অপারেন্ড `2` সত্য হয়, সুতরাং এক্সিকিউশন স্থগিত, `2` ফিরে আসে এবং তারপরে বাইরের alert দ্বারা দেখানো হয়।
1212

1313
কোনও `3` থাকবে না, কারণ মূল্যায়ন `alert(3)` তে পৌঁছায় না।

0 commit comments

Comments
 (0)