Skip to content

Commit f17c577

Browse files
committed
Merge remote-tracking branch 'upstream/master'
2 parents b93cf7f + bcb7756 commit f17c577

File tree

1,008 files changed

+15987
-22448
lines changed

Some content is hidden

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

1,008 files changed

+15987
-22448
lines changed

Diff for: .gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,4 @@ sftp-config.json
2121
Thumbs.db
2222

2323

24+
/svgs

Diff for: 1-js/01-getting-started/1-intro/article.md

+69-164
Large diffs are not rendered by default.

Diff for: 1-js/01-getting-started/1-intro/limitations.svg

+1-1
Loading
+19-19
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,37 @@
1-
# کتابچه راهنما و مشخصات
21

3-
این کتاب یک راهنما است که به شما کمک می‌کند در نهایت این زبان را بیاموزید. اما وقتی که شما با مفاهیم پایه‌ای آشنا شدید، به منابع دیگر نیاز خواهید داشت.
2+
# کتابچه راهنما و مشخصات (Specification)
3+
4+
این کتاب یک آموزش است. هدف آن کمک به شما برای یادگیری تدریجی زبان است. اما وقتی با مبانی پایه‌ای آشنا شدید، به منابع دیگری نیاز خواهید داشت.
5+
46
## مشخصات (Specification)
57

6-
**The ECMA-262 specification** شامل عمیق‌ترین، دقیق‌ترین و رسمی‌ترین اطلاعات در جاوا اسکریپت است که زبان را تعریف می‌کند.
8+
[ECMA-262 specification](https://www.ecma-international.org/publications/standards/Ecma-262.htm) شامل عمیق‌ترین، دقیق‌ترین و رسمی‌ترین اطلاعات در جاوااسکریپت است که زبان را تعریف می‌کند.
79

8-
اما در ابتدا اگر بخواهیم آنقدر رسمی و دقیق باشیم، درک این زبان سخت می‌شود. بنابراین اگر به منبع اطلاعات قابل اعتماد در مورد جزئیات این زبان نیاز دارید، Specification بهترین مکان است. اما برای استفاده‌ی روزانه نیست.
10+
اما در ابتدا اگر بخواهیم آنقدر رسمی و دقیق باشیم، درک این زبان سخت می‌شود. بنابراین اگر به منبع اطلاعات قابل اعتماد در مورد جزئیات این زبان نیاز دارید، specification بهترین مکان است. اما برای استفاده روزمره مناسب نیست.
911

10-
آخرین نوشته در <https://tc39.es/ecma262/> است.
12+
یک نسخه جدید از specification هر سال منتشر می‌شود. میان این انتشارها، آخرین مشخصات در <https://tc39.es/ecma262> است.
1113

1214
برای آگاهی از ویژگی‌های به روز که تقریبا استاندارد هستند، به <https://github.com/tc39/proposals> مراجعه کنید.
1315

14-
همینطور اگر به دنبال برنامه‌نویسی مرورگر هستید، به [بخش دوم](info:browser-environment) مراجعه کنید.
15-
## کتابچه راهنما
16+
همچنین اگر در حال توسعه پروژه در سمت مرورگر هستید، اطلاعات دیگری در [بخش دوم آموزش](info:browser-environment) ارائه شده است.
1617

17-
**MDN (Mozilla) JavaScript Reference** یک راهنما با مثال‌ها و اطلاعات دیگرست. خوب است که به عمق اطلاعات در مورد توابع زبان و متدها و غیره وارد شوید.
18-
میتوانید آنرا در <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference> پیدا کنید.
18+
## دفترچه راهنما
1919

20-
اگرچه اغلب اوقات بهتر است که در عوض، یک جستجویی در اینترنت بکنید. در عبارت مورد جستجوی خود "MDN [موضوع مورد نظر]" را قرار دهید. مثلا؛ در جستجوی تابع `parseInt`، <https://google.com/search?q=MDN+parseInt>.
20+
- **MDN (Mozilla) JavaScript Reference** یک راهنمای اصلی با مثال‌ها و اطلاعات دیگر است. خوب است که به عمق اطلاعات در مورد توابع زبان و متدها و غیره وارد شوید.
2121

22-
- **MSDN**، کتابچه راهنما مایکروسافت با بسیاری اطلاعات که شامل جاوا اسکریپت (که اغلب با اسم JScript آورده شده). اگر کسی به سوالی خاص در Internet Explorer نیاز داشت، بهتر است که به <http://msdn.microsoft.com/> مراجعه کند.
22+
می‌توانید آنرا در <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference> پیدا کنید.
2323

24-
همینطور میتوانیم جستجوی اینترنتی با عباراتی مثل "RegExp MSDN" یا "RegExp MSDN jscript" را انجام دهیم.
25-
## پشتیبانی از ویژگی‌ها (Features)
24+
اگرچه اغلب اوقات بهتر است که بجای آن، جستجویی در اینترنت انجام دهید. در عبارت مورد جستجوی خود "[موضوع مورد نظر] MDN" را قرار دهید. مثلا، <https://google.com/search?q=MDN+parseInt> برای جستجو در رابطه با تابع `parseInt`.
2625

27-
جاوا اسکریپت یک زبان برنامه‌نویسیت که به طور منظم به آن خواص جدیدی اضافه می‌شود.
26+
## جداول سازگاری
2827

29-
برای دیدن پشتیبانی مرورگر و بقیه‌ی موتورها این‌ها را ببینید:
28+
جاوااسکریپت یک زبان در حال توسعه است، ویژگی‌های جدید به طور منظم به آن اضافه می‌شوند.
3029

31-
- <http://caniuse.com> جدولی بر اساس پشتیبانی خواص. فرضاً برای دیدن اینکه کدام موتورها توابع مدرن رمزنگاری را پشتیبانی میکند به <http://caniuse.com/#feat=cryptography> مراجعه کنید.
30+
برای دیدن پشتیبانی مرورگر و بقیه‌ی موتورها این‌ها را ببینید:
3231

33-
- <https://kangax.github.io/compat-table> جدولی با ویژگی‌های زبان و موتورهایی که قابلیت پشتیبانی آنهارا دارند یا ندارند.
32+
- <http://caniuse.com> جدولی بر اساس پشتیبانی خواص. فرضاً برای دیدن اینکه کدام موتورها توابع مدرن رمزنگاری را پشتیبانی می‌کند به <http://caniuse.com/#feat=cryptography> مراجعه کنید.
33+
- <https://kangax.github.io/compat-table> جدولی با ویژگی‌های زبان و موتورهایی که قابلیت پشتیبانی آنها را دارند یا ندارند.
3434

35-
تمام این منابع در توسعه و برنامه‌نویسی‌ در زندگی واقعی مفیدند چراکه بسیاری اطلاعات ارزشمند راجب جزئیات زبان، پشتیبانیشان و غیره را دارند.
35+
تمام این منابع در توسعه و برنامه‌نویسی‌ در زندگی واقعی مفید هستند چرا که بسیاری اطلاعات ارزشمند درباره جزئیات زبان، پشتیبانی آن‌ها و غیره را دارند.
3636

37-
این صفحه را وقتی به اطلاعات دقیق یا یک ویژگی خاصی نیاز داشتید به یاد داشته باشید.
37+
این صفحه را وقتی به اطلاعات عمیق درباره یک ویژگی خاصی نیاز داشتید به یاد آورید.

Diff for: 1-js/01-getting-started/3-code-editors/article.md

+16-30
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# ویرایشگرهای متن
22

3-
ویرایشگرهای متن محلی ‌است که برنامه‌نویسان بیشتر وقت خود را آنجا صرف میکنند.
3+
ویرایشگرهای متن محلی ‌است که برنامه‌نویسان بیشتر وقت خود را آنجا صرف می‌کنند.
44

5-
در مجموع دو نوع ویرایشگر وجود دارد : یکی IDE ها و دیگری ویرایشگرهای سبک برای کد نویسی. بعضی از هر دوی اینها استفاده می‌کنند.
5+
در مجموع دو نوع ویرایشگر وجود دارد : یکی IDEها و دیگری ویرایشگرهای سبک برای کد نویسی. بعضی از هر دوی این‌ها استفاده می‌کنند.
66

77
## IDE
88

@@ -12,52 +12,38 @@
1212

1313
اگر هنوز یک IDE انتخاب نکرده‌اید، موارد زیر را در نظر داشته باشید :
1414

15-
- [WebStorm](http://www.jetbrains.com/webstorm/) برای توسعه Front End . کمپانی Jetbrains همینطور IDE های دیگری را برای زبان‌های دیگر ارائه می‌کند (که رایگان نیستند)
16-
17-
- [Netbeans](http://netbeans.org/) (رایگان)
18-
19-
این IDE ها اصطلاحا Cross Platform هستند.
15+
- [Visual Studio Code](https://code.visualstudio.com/) (cross-platform، رایگان).
16+
- [WebStorm](http://www.jetbrains.com/webstorm/) (cross-platform، پولی).
2017

2118
همینطور برای Windows می‌توانید از Visual Studio استفاده کنید (منظور Visual Studio Code نیست). Visual Studio یک نرم افزار غیر رایگان است و فقط بر روی Windows کار می‌کند که برای توسعه پلتفرم dot net مناسب است. نسخه رایگان این نرم افزار [Visual Studio Community](https://www.visualstudio.com/vs/community/) نام دارد.
2219

23-
بعضی از IDE ها پولی هستند ولی برای مدتی به صورت آزمایشی می‌توان از آنها به رایگان استفاده کرد. معمولا قیمت آنها در مقایسه با درآمد برنامه‌نویسان ناچیز است، پس یک IDE خوب برای خود انتخاب کنید.
20+
بعضی از IDE ها پولی هستند ولی برای مدتی به صورت آزمایشی می‌توان از آن‌ها به رایگان استفاده کرد. معمولا قیمت آن‌ها در مقایسه با درآمد برنامه‌نویسان ناچیز است، پس یک IDE خوب برای خود انتخاب کنید.
2421

2522
## ویرایشگرهای سبک
2623

2724
این دسته از ویرایشگرها به اندازه IDE ها قدرتمند نیستند، ولی سبک، زیبا و ساده هستند.
2825

2926
معمولا برای ویرایش سریع یک فایل استفاده می‌شوند.
3027

31-
تفاوت اصلی بین ویرایشگرهای سبک و IDE ها در آن است که IDE ها در سطح پروژه استفاده می‌‌شوند، در نتیجه در آغاز اطلاعات زیادی را بارگذاری می‌کنند، ساختار پروژه را تحلیل میکنند و موارد این‌چنینی. در زمانیکه بخواهیم روی یک فایل کار کنیم ویرایشگرهای سبک بسیار سریع‌تر هستند.
32-
33-
در عمل ویرایشگرهای سبک دارای افزونه‌های متعددی هستند، مانند تحلیل‌کننده‌های سینتَکس (syntax)، تکمیل‌کننده های کد و غیره. به همین دلیل نمی‌تواند مرز دقیقی بین IDE و ویرایشگرهای سبک قائل بود.
34-
35-
موارد زیر ارزش توجه را دارند :
28+
تفاوت اصلی بین ویرایشگرهای سبک و IDEها در آن است که IDEها در سطح پروژه استفاده می‌‌شوند، در نتیجه در آغاز اطلاعات زیادی را بارگذاری می‌کنند، ساختار پروژه را تحلیل می‌کنند و موارد این‌چنینی. در زمانیکه بخواهیم روی یک فایل کار کنیم ویرایشگرهای سبک بسیار سریع‌تر هستند.
3629

37-
- [Visual Studio Code](https://code.visualstudio.com/) : رایگان - Cross Platform و همچنین تعدادی از قابلیت‌های IDE ها را دارد
30+
در عمل ویرایشگرهای سبک دارای افزونه‌های متعددی هستند، مانند تحلیل‌کننده‌های سینتَکس (syntax)، تکمیل‌کننده های کد و غیره. به همین دلیل نمی‌توان مرز دقیقی بین IDE و ویرایشگرهای سبک قائل بود.
3831

39-
- [Atom](https://atom.io/) : رایگان - Cross Platform
40-
41-
- [Sublime Text](http://www.sublimetext.com) : رایگان برای مدت محدود - Cross Platform
42-
43-
- [Notepad++](https://notepad-plus-plus.org/) : برای Windows - رایگان
32+
موارد زیر ارزش توجه را دارند:
4433

34+
- [Sublime Text](http://www.sublimetext.com) (cross-platform، shareware).
35+
- [Notepad++](https://notepad-plus-plus.org/) (Windows، رایگان)
4536
- [Vim](http://www.vim.org/) و [Emacs](https://www.gnu.org/software/emacs/) هم اگر با نحوه کارشان آشنا باشید خوب هستند.
4637

47-
## مورد علاقه‌های من
48-
49-
ترجیح نویسنده بر آن است که برای پروژه‌ها از IDE و برای کارهای سریع و ساده از ویرایشگرهای سبک استفاده کند.
50-
51-
من از این نرم‌افزارها استفاده می‌کنم :
52-
53-
- به عنوان IDE : برای توسعه JavaScript از [WebStorm](http://www.jetbrains.com/webstorm/) (در کار با زبان‌های دیگر از دیگر محصولات JetBrains استفاده می‌کنم)
54-
55-
- به عنوان یک ویرایشگر سبک : [Sublime Text](http://www.sublimetext.com) یا [Atom](https://atom.io/)
56-
5738
## بیایید بحث نکنیم
5839

59-
ویرایشگرهایی بالا آنهایی هستند که من و دوستانم که آنها را توسعه‌دهندگان خوبی می‌دانم مورد استفاده قرار ‌می‌دهند و راضی هستند.
40+
ویرایشگرهای بالا آنهایی هستند که من و دوستانم که آن‌ها را توسعه‌دهندگان خوبی می‌دانم مورد استفاده قرار ‌می‌دهند و راضی هستند.
6041

6142
ویرایشگرهای دیگری نیز وجود دارند پس همانی که مورد علاقه شماست را انتخاب کنید.
6243

6344
انتخاب ویرایشگر یا هر ابزار دیگری شخصی بوده و به نوع پروژه، عادات و سلیقه شخصی بستگی دارد.
45+
46+
نظر شخصی نویسنده:
47+
48+
- اگر من اغلب اوقات فرانت‌اند کار می‌کنم، از [Visual Studio Code](https://code.visualstudio.com/) استفاده خواهم کرد.
49+
- در غیر این صورت، اگر اکثر اوقات زبان/پلتفرم دیگری کار می‌کنم و کمی فرانت‌اند، دیگر ویرایشگرها را انتخاب می‌کنم مانند XCode (Mac)، Visual Studio (Windows) یا خانواده Jetbrains (بر اساس زبان مورد نظر، Webstorm، PHPStorm، RubyMine و غیره).

0 commit comments

Comments
 (0)