From b2c95a89b7bb724c8c40b14fd391e00ca3f0421a Mon Sep 17 00:00:00 2001 From: kooshan Date: Wed, 10 Jul 2019 15:04:35 +0430 Subject: [PATCH 1/2] translated article.md and deleted docx file --- 1-js/02-first-steps/07-operators/article.docx | Bin 27365 -> 0 bytes 1-js/02-first-steps/07-operators/article.md | 249 +++++++++--------- 2 files changed, 126 insertions(+), 123 deletions(-) delete mode 100644 1-js/02-first-steps/07-operators/article.docx diff --git a/1-js/02-first-steps/07-operators/article.docx b/1-js/02-first-steps/07-operators/article.docx deleted file mode 100644 index b1375fe0b50ce59c8ba25e45957a219948349c86..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27365 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 -Increasing or decreasing a number by one is among the most common numerical operations. +این عملگرها جزو رایج‌ترین نمونه‌های موجود در کار با اعداد هستند. + +بنابراین عملگرهای خاصی برای این موضوع وجود دارند: -So, there are special operators for it: +- افزایش ++ که یک واحد به عدد اضافه می‌کند: -- **Increment** `++` increases a variable by 1: ```js run no-beautify let counter = 2; counter++; // works the same as counter = counter + 1, but is shorter alert( counter ); // 3 ``` -- **Decrement** `--` decreases a variable by 1: +- کاهش -- که یک واحد از عدد کم می‌کند: ```js run no-beautify let counter = 2; @@ -265,21 +268,23 @@ So, there are special operators for it: ``` ```warn -Increment/decrement can only be applied to variables. Trying to use it on a value like `5++` will give an error. +این عملگرها فقط بر روی اعداد کار می‌کنند و برای نمونه 5++ با خطا مواجه خواهد شد. ``` -The operators `++` and `--` can be placed either before or after a variable. +عملگرهای ++ و – می‌توانند پیش و پس از متغیر قرار گیرند. + +- وقتی پس از متغیر قرار بگیرد حالت پسوندی دارد counter++ + +- وقتی پیش از متغیر قرار گیرد حالت پیشوندی دارد ++counter -- When the operator goes after the variable, it is in "postfix form": `counter++`. -- The "prefix form" is when the operator goes before the variable: `++counter`. -Both of these statements do the same thing: increase `counter` by `1`. +هردو گزاره، کار یکسانی می‌کنند. counter را یکی اضافه می‌کنند. -Is there any difference? Yes, but we can only see it if we use the returned value of `++/--`. +آیا تفاوتی بین آنها وجود دارد؟ بله، اما فقط با مشاهده‌ی مقدار باز گردانده شده از آن، می‌توانیم این تفاوت را دریابیم. -Let's clarify. As we know, all operators return a value. Increment/decrement is no exception. The prefix form returns the new value while the postfix form returns the old value (prior to increment/decrement). +حالت پیشوندی مقدار جدید را باز می‌گرداند درحالیکه حالت پسوندی مقدار قبلی را باز می‌گرداند. -To see the difference, here's an example: +برای نمونه: ```js run let counter = 1; @@ -288,9 +293,7 @@ let a = ++counter; // (*) alert(a); // *!*2*/!* ``` -In the line `(*)`, the *prefix* form `++counter` increments `counter` and returns the new value, `2`. So, the `alert` shows `2`. - -Now, let's use the postfix form: +در خط `(*)` حالت پیشوندی ++counter متغیر counter را یک واحد افزایش می‌دهد و مقدار 2 را باز می‌گرداند. در نتیجه alert مقدار 2 را نمایش می‌دهد: ```js run let counter = 1; @@ -299,11 +302,11 @@ let a = counter++; // (*) changed ++counter to counter++ alert(a); // *!*1*/!* ``` -In the line `(*)`, the *postfix* form `counter++` also increments `counter` but returns the *old* value (prior to increment). So, the `alert` shows `1`. +در خط `(*)‍` حالت پسوندی counter++ مقدار counter را یک واحد افزایش می‌دهد ولی مقدار قبلی این متغیر را باز می‌گرداند. در نتیجه alert مقدار 1 را نمایش می‌دهد. -To summarize: +در نتیجه: -- If the result of increment/decrement is not used, there is no difference in which form to use: +- اگر مقدار بازگشتی از عملگرهای ++ و – مورد استفاده قرار نگیرد، تفاوتی در استفاده از آنها وجود ندارد: ```js run let counter = 0; @@ -311,41 +314,41 @@ To summarize: ++counter; alert( counter ); // 2, the lines above did the same ``` -- If we'd like to increase a value *and* immediately use the result of the operator, we need the prefix form: + - اگر می‌خواهیم مقداری را افزایش داده و بلافاصله از نتیجه عملگر استفاده نماییم، باید از حالت پیشوندی استفاده کنیم: ```js run let counter = 0; alert( ++counter ); // 1 ``` -- If we'd like to increment a value but use its previous value, we need the postfix form: - + - اگر می‌خواهیم مقداری را افزایش داده و از مقدار قبلی آن استفاده نماییم باید از حالت پسوندی استفاده کنیم: + ```js run let counter = 0; alert( counter++ ); // 0 ``` -````smart header="Increment/decrement among other operators" -The operators `++/--` can be used inside expressions as well. Their precedence is higher than most other arithmetical operations. +````smart header="عملگرهای افزایش و کاهش در بین دیگر عملگرها" +عملگرهای ++ و – در عبارات (expressions) قابل استفاده هستند. اولویت آنها از اکثر عملگرهای ریاضیاتی بالاتر است. -For instance: +برای نمونه: ```js run let counter = 1; alert( 2 * ++counter ); // 4 ``` -Compare with: +در مقایسه با: ```js run let counter = 1; alert( 2 * counter++ ); // 2, because counter++ returns the "old" value ``` -Though technically okay, such notation usually makes code less readable. One line does multiple things -- not good. +با اینکه از نظر فنی مشکلی ندارد ولی چنین روشی خوانایی کد را کاهش می‌دهد. اینکه یک خط کارهای مختلفی انجام می‌دهد مناسب نیست. -While reading code, a fast "vertical" eye-scan can easily miss something like `counter++` and it won't be obvious that the variable increased. +در هنگام خواندن کدها، چشم به صورت عمودی و با سرعت کدها را می‌خوانند و چیزی مانند counter++ و افزایش مقدار counter به سادگی از چشم پنهان می‌ماند. -We advise a style of "one line -- one action": +ما پیشنهاد می‌کنیم هر عمل را در یک خط بنویسید: ```js run let counter = 1; @@ -354,13 +357,13 @@ counter++; ``` ```` -## Bitwise operators +## عملگرهای بیتی -Bitwise operators treat arguments as 32-bit integer numbers and work on the level of their binary representation. +عملگرهای بیتی با آرگومان‌ها به شکل اعداد صحیح ۳۲ بیتی رفتار میکنند و در سطح نمایش دودویی با آنها کار میکنند. -These operators are not JavaScript-specific. They are supported in most programming languages. +این عملگرها فقط برای جاوا اسکریپت نیستند و در اکثر زبان‌های برنامه نویسی پشتیبانی می‌شوند. -The list of operators: +لیست عملگرها: - AND ( `&` ) - OR ( `|` ) @@ -370,13 +373,12 @@ The list of operators: - RIGHT SHIFT ( `>>` ) - ZERO-FILL RIGHT SHIFT ( `>>>` ) -These operators are used very rarely. To understand them, we need to delve into low-level number representation and it would not be optimal to do that right now, especially since we won't need them any time soon. If you're curious, you can read the [Bitwise Operators](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Bitwise_Operators) article on MDN. It would be more practical to do that when a real need arises. +این عملگرها به ندرت استفاده می‌شوند. برای درک آنها، باید به سطح زبان سیستم در نمایش اعداد برویم و اصلا این کار، کار بهینه‌ای در حال حاضر نیست و حتی به آنها هم در آینده‌ی نزدیک نیاز نداریم. اگر علاقه‌مند هستید میتوانید [Bitwise Operators](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Bitwise_Operators) را بخوانید. خیلی منطقی‌تر است که وقتی واقعا به آن نیازمند هستید آن را استفاده کنید. +## تغییر در همان محل -## Modify-in-place +ما اغلب نیاز داریم تا یک عملگر را روی متغیری اعمال کنیم و مقدار جدید را در همان متغیر ذخیره کنیم. -We often need to apply an operator to a variable and store the new result in that same variable. - -For example: +به عنوان مثال: ```js let n = 2; @@ -384,7 +386,7 @@ n = n + 5; n = n * 2; ``` -This notation can be shortened using the operators `+=` and `*=`: +عملگرها میتوانند به شکل خلاصه `*=` و `+=` نوشته شوند: ```js run let n = 2; @@ -394,9 +396,9 @@ n *= 2; // now n = 14 (same as n = n * 2) alert( n ); // 14 ``` -Short "modify-and-assign" operators exist for all arithmetical and bitwise operators: `/=`, `-=`, etc. +این سبک عملگرها برای تمامی عملگرهای بیتی و ریاضی وجود دارند: `/=`، `-=` و غیره. -Such operators have the same precedence as a normal assignment, so they run after most other calculations: +این عملگرها اولویت یکسانی با بقیه انواع مقداردهی‌ها دارند بنابراین بعد اکثر محاسبات اجرا می‌شوند: ```js run let n = 2; @@ -406,13 +408,13 @@ n *= 3 + 5; alert( n ); // 16 (right part evaluated first, same as n *= 8) ``` -## Comma +## کاما -The comma operator `,` is one of the rarest and most unusual operators. Sometimes, it's used to write shorter code, so we need to know it in order to understand what's going on. +عملگر `,` یکی از نادرترین و غیرمعمول ترین عملگر‌هاست. بعضی اوقات، برای نوشتن کد کوتاه‌تر است پس ما نیاز داریم که متوجه بشویم که چه اتفاقی در حال رخ دادن است. -The comma operator allows us to evaluate several expressions, dividing them with a comma `,`. Each of them is evaluated but only the result of the last one is returned. +این عملگر به ما اجازه ارزیابی برخی عبارت را می‌دهد که با یک کاما از یکدیگر جدا می‌شوند. هر کدام از آنها هم محاسبه و ارزیابی می‌شود اما تنها جواب آخری برگردانده می‌شود. -For example: +به عنوان مثال: ```js run *!* @@ -422,25 +424,26 @@ let a = (1 + 2, 3 + 4); alert( a ); // 7 (the result of 3 + 4) ``` -Here, the first expression `1 + 2` is evaluated and its result is thrown away. Then, `3 + 4` is evaluated and returned as the result. -```smart header="Comma has a very low precedence" -Please note that the comma operator has very low precedence, lower than `=`, so parentheses are important in the example above. +اولین عبارت ۱ +‌ ۲ محاسبه می‌شود و جوابش دور ریخته می‌شود. سپس، ۳ + ۴ محاسبه می‌شود و به عنوان جواب بازگردانده می‌شود. +```smart header="کاما اولیویت بسیار کمی دارد" + +توجه داشته باشید که عملگر کاما اولویت بسیار کمی دارد، کمتر از `=`، بنابراین پرانتزها در مثال بالا مهم هستند. -Without them: `a = 1 + 2, 3 + 4` evaluates `+` first, summing the numbers into `a = 3, 7`, then the assignment operator `=` assigns `a = 3`, and finally the number after the comma, `7`, is not processed so it's ignored. +بدون آنها: `a = 1 + 2, 3 + 4` اول عملگر جمع را محاسبه می‌کند، یعنی نتیجه می‌شود `a = 3, 7`، سپس عملگر `=` باعث می‌شود که `a = 3` و در نهایت عدد بعد از کاما، یعنی هفت، پردازش نمی‌شود. ``` -Why do we need an operator that throws away everything except the last part? +چرا عملگری نیاز داریم که هرچیزی را به جز قسمت آخر دور میریزد؟ -Sometimes, people use it in more complex constructs to put several actions in one line. +بعضی اوقات، در ساختارهای پیچیده برای انجام عمل‌های متعددی در یک خط استفاده می‌شود. -For example: +برای نمونه: ```js -// three operations in one line +// سه عملگر در یک خط for (*!*a = 1, b = 3, c = a * b*/!*; a < 10; a++) { ... } ``` -Such tricks are used in many JavaScript frameworks. That's why we're mentioning them. But, usually, they don't improve code readability so we should think well before using them. +چنین عملیاتی در frameworkهای جاوا اسکریپت خیلی استفاده می‌شوند. به همین علت است که آنهارا توضیح داد. اما عموما، خوانایی کد را بهبود نمی‌بخشند بنابراین قبل از استفاده کردن آنها باید فکر کنیم. From 673979f0f42f7d1f5449937f662bc72261500176 Mon Sep 17 00:00:00 2001 From: kooshan Date: Wed, 10 Jul 2019 15:53:22 +0430 Subject: [PATCH 2/2] translated tasks, solutions & index.md --- .../07-operators/1-increment-order/solution.md | 10 +++++----- .../07-operators/1-increment-order/task.md | 4 ++-- .../07-operators/2-assignment-result/solution.md | 6 +++--- .../07-operators/2-assignment-result/task.md | 4 ++-- 1-js/02-first-steps/index.md | 4 ++-- 5 files changed, 14 insertions(+), 14 deletions(-) diff --git a/1-js/02-first-steps/07-operators/1-increment-order/solution.md b/1-js/02-first-steps/07-operators/1-increment-order/solution.md index 8a44d798e..03dfeb224 100644 --- a/1-js/02-first-steps/07-operators/1-increment-order/solution.md +++ b/1-js/02-first-steps/07-operators/1-increment-order/solution.md @@ -1,5 +1,5 @@ -The answer is: +جواب: - `a = 2` - `b = 2` @@ -9,10 +9,10 @@ The answer is: ```js run no-beautify let a = 1, b = 1; -alert( ++a ); // 2, prefix form returns the new value -alert( b++ ); // 1, postfix form returns the old value +alert( ++a ); // 2, پیشوند مقدار جدید را برمی‌گرداند +alert( b++ ); // 1, پسوند مقدار جدید را برمی‌گرداند -alert( a ); // 2, incremented once -alert( b ); // 2, incremented once +alert( a ); // 2, یکی اضافه شد +alert( b ); // 2, یکی اضافه شد ``` diff --git a/1-js/02-first-steps/07-operators/1-increment-order/task.md b/1-js/02-first-steps/07-operators/1-increment-order/task.md index 7db092389..f06b59e52 100644 --- a/1-js/02-first-steps/07-operators/1-increment-order/task.md +++ b/1-js/02-first-steps/07-operators/1-increment-order/task.md @@ -2,9 +2,9 @@ importance: 5 --- -# The postfix and prefix forms +# فرم‌های پسوندی و پیشوندی -What are the final values of all variables `a`, `b`, `c` and `d` after the code below? +مقادیر نهایی تمام متغیرهای `a`، `b`، `c`، و `d` بعد از اجرای کد زیر چیست؟ ```js let a = 1, b = 1; diff --git a/1-js/02-first-steps/07-operators/2-assignment-result/solution.md b/1-js/02-first-steps/07-operators/2-assignment-result/solution.md index e3113b4cd..c2660f81f 100644 --- a/1-js/02-first-steps/07-operators/2-assignment-result/solution.md +++ b/1-js/02-first-steps/07-operators/2-assignment-result/solution.md @@ -1,5 +1,5 @@ -The answer is: +جواب: -- `a = 4` (multiplied by 2) -- `x = 5` (calculated as 1 + 4) +- `a = 4` (ضربدر دو شده) +- `x = 5` (محاسبه‌ی 1 + 4) diff --git a/1-js/02-first-steps/07-operators/2-assignment-result/task.md b/1-js/02-first-steps/07-operators/2-assignment-result/task.md index 5345c9485..abffe0923 100644 --- a/1-js/02-first-steps/07-operators/2-assignment-result/task.md +++ b/1-js/02-first-steps/07-operators/2-assignment-result/task.md @@ -2,9 +2,9 @@ importance: 3 --- -# Assignment result +# نتیجه‌ی مقداردهی -What are the values of `a` and `x` after the code below? +مقادیر `a` و `x` بعد از اجرای کد زیر چیست؟ ```js let a = 2; diff --git a/1-js/02-first-steps/index.md b/1-js/02-first-steps/index.md index 31281656f..02e4cb70c 100644 --- a/1-js/02-first-steps/index.md +++ b/1-js/02-first-steps/index.md @@ -1,3 +1,3 @@ -# JavaScript Fundamentals +# مفاهیم پایه‌ای جاوا اسکریپت -Let's learn the fundamentals of script building. \ No newline at end of file +بیایید مفاهیم پایه‌ای کد زدن با جاوا اسکریپت را یاد بگیریم!