آموزش جاوااسکریپت | Javascript Tutorials

معرفی جاوااسکریپت

جاوا اسکریپت یک زبان برنامه نویسی کامپیوتری پویا است. این زبان سبک وزن است و اغلب به عنوان بخشی از صفحات وب استفاده می شود که پیاده سازی آنها به اسکریپت سمت کلاینت اجازه می دهد تا با کاربر ارتباط برقرار کرده و صفحات دینامیکی ایجاد کند. جاوا اسکریپت یک زبان برنامه نویسی تفسیر شده با قابلیت های شی گرا است.

جاوا اسکریپت برای اولین بار به عنوان LiveScript شناخته شد، اما Netscape نام آن را احتمالا به دلیل هیجاناتی که توسط جاوا ایجاد شد به JavaScript تغییر داد. جاوا اسکریپت اولین بار در Netscape 2.0 در سال 1995 با نام LiveScript ساخته شد. هسته همه منظوره این زبان در Netscape، اینترنت اکسپلورر و سایر مرورگرهای وب جاسازی شده است. ECMA-262 Specification نسخه استاندارد از هسته زبان جاوا اسکریپت را تعریف می کند.

JavaScript 2.0 مطابق با نسخه 5 استاندارد ECMAScript است و تفاوت بین این دو بسیار جزئی است.

امروزه، جاوا اسکریپت Netscape و JScript مایکروسافت با استاندارد ECMAScript مطابقت دارند، هرچند هر دو زبان هنوز از ویژگی هایی که جزء استاندارد نیستند پشتیبانی می کنند.

Javascript چیست؟

Javascript یک زبان برنامه نویسی داینامیک است که همانند HTML و CSS یکی از مهم ترین عنصر فناوری های وب استاندارد به شمار می رود. این زبان هم به صورت ساخت یافته و هم به صورت شی گرا مورد استفاده برنامه نویسان قرار می گیرد.

در حقیقت Javascript به صفحات وب زندگی می بخشد. این برنامه امکان اجرای چیزهای پیچیده را برای شما فراهم می کند. هر بار که یک صفحه وب، اطلاعات استاتیک، به روزرسانی های محتوا، نقشه های تعاملی، گرافیک های دو بعدی ی یا سه بعدی، اسکرول کردن jukebox های ویدئویی و غیره را به شما نمایش می دهد، می توانید از دخیل بودن Javascript در آن اطمینان حاصل کنید.

 

ویژگی های JavaScript

  • سبک وزن و تفسیر شده
  • طراحی شده برای ایجاد اپلیکیشن های شبکه محور
  • قابلیت یکپارچه سازی و ادغام با جاوا
  • قابلیت یکپارچه سازی و ادغام با HTML
  • باز و cross-platform

تاریخچه ی Javascript

Javascript در ماه مه 1995 توسط Brendan Eich در 10 روز ایجاد شد که در شرکت Netscape کار می کرد و در حال حاضر در Mozilla فعالیت می کند. از جاوااسکریپت همیشه به عنوان جاوااسکریپت نام برده نمی شد. نام اصلی آن Mocha بود، نامی که مارک آندریسن، بنیانگذار نت اسکیپ برگزید. در سپتامبر 1995 نام آن به LiveScript تغییر یافت، سپس در ماه دسامبر همان سال، پس از دریافت مجوز علامت تجاری از Sun، نام جاوااسکریپت پذیرفته شد.

در سال های 1996 تا 1997، نت اسکیپ، Javascript را برای استاندارد سازی به سازمان ECMA ارسال کرد که در نهایت منجر به انتشار رسمی نسخهٔ استاندارد شده‌ای به نام ECMA Script  شد.

فریمورک های Javascript

مزیت های Javascript

پیاده سازی جاوا اسکریپت بسیار آسان است. همه کاری که باید انجام دهید این است که کد خود را در سند HTML قرار دهید و به مرورگر بگویید که این جاوا اسکریپت است.

جاوا اسکریپت بر روی رایانه های کاربران وب کار می کند، حتی زمانی که آفلاین هستند. جاوا اسکریپت این امکان را فراهم می کند تا رابط های پاسخگو ایجاد کنید در نتیجه، بدون نیاز به انتظار برای  واکنش سرور و  نمایش یک صفحه دیگر، قابلیت های داینامیک را فراهم می کند. زمانی که کاربر نیاز به بارگذاری محتوا در سند را دارد، جاوا اسکریپت می تواند بدون بارگذاری کل صفحه این امکان را فراهم کند.

جاوااسکریپت می تواند آنچه که در مرورگر شما رخ می دهد را امتحان کند و طبق آن واکنش نشان دهد. این عمل، به عنوان اصول جاوا اسکریپت غلط و گاهی اوقات اسکریپت های دفاعی نامیده می شود. جاوااسکریپت می تواند به مشکلات مرورگر و پشتیبانی آن کمک کند. برای مثال: حل مشکلات طرح بندی CSS در مرورگرهای خاص.

کاربرد Javascript

  • تحرک پذیری المان ها در صفحه وب
  • ارتقای رابط های HTML
  • حل مشکلات صفحه بندی
  • پیشنهاد نتایج در جعبه جستجو در زمانی که شما در آن تایپ می کنید و بر اساس آنچه تا کنون وارد کرده اید نتایجی را ارائه می دهد
  • سرعت بالا و حافظه کوچک جاوا اسکریپت در مقایسه با سایر زبانها
  • بدون ارسال پیام به سرور، اجازه می دهد تا همه چیز در مرورگر کاربر اتفاق بیفتد.
  • می توانید در مرورگر به HTML استاتیک خود چیزی بیافزایید یا آن را تغییر دهید.

تفاوت Javascript و Java

بر خلاف شباهت اسمی آنها، کاملا متفاوت از یکدیگر هستند. جاوا یک زبان برنامه نویسی Object Oriented است که با یک interpreter بر روی چندین سیستم عامل اجرا می شود و توسط شرکت Sub Microsystems طراحی و پیاده سازی شده است. این زبان برنامه نویسی برای تولید نرم افزار قابل استفاده بر روی پلتفرم های مختلف ایجاد شد. درحالیکه، جاوااسکریپت توسط شرکت Netscape طراحی شد و در حقیقت یک زبان اسکریپت نویسی می باشد. پس،  نیازی به فرآیند کامپایل شدن و کامپایلر ندارد و توسط مرورگر اینترنت اجرا می شود.

آموزش VueJs

VueJS یک فریمورک جاوا اسکریپت پیشرفته است که برای توسعه رابط های وب تعاملی استفاده می شود. VueJS یکی از معروف ترین فریمورک های مورد استفاده برای ساده سازی توسعه وب می باشد. VueJS روی لایه view تمرکز می کند و توسط Evan You، کارمند سابق Google ایجاد شده است. اولین نسخه VueJS در فوریه 2014 منتشر شد.

Client-side JavaScript

Client-side JavaScript متداول ترین شکل زبان است. اسکریپت باید با سند HTML برای کدی که توسط مرورگر تفسیر می شود مشمول شود یا ارجاع داده شود. این بدان معنا است که یک صفحه وب نباید یک HTML استاتیک باشد، بلکه می تواند شامل برنامه هایی باشد که با کاربر تعامل برقرار، مرورگر را کنترل و محتوای HTML را به صورت پویا ایجاد کند. مکانیزم سمت کلاینت جاوا اسکریپت، مزایای بسیاری نسبت به اسکریپت های سمت سرور CGI دارد. برای مثال، شما ممکن است از جاوا اسکریپت برای بررسی اینکه آیا کاربر یک آدرس ایمیل معتبر را در یک فیلد فرم وارد کرده اید استفاده کنید. کد جاوا اسکریپت هنگامی که کاربر فرم را اجرا می کند، اجرا می شود و تنها اگر تمام ورودی ها معتبر باشند، آنها می توانند به وب سرور منتقل شوند. جاوا اسکریپت می تواند برای بررسی رویدادهایی که کاربران ایجاد می کنند مانند دکمه های کلیک، ناوبری لینک و سایر اقداماتی که کاربر به طور صریح یا به طور ضمنی انجام می دهد مورد استفاده قرار گیرد.

محدودیت های جاوا اسکریپت

ویژگی Client-side JavaScript اجازه خواندن یا نوشتن فایل ها را نمی دهد. این به خاطر دلیل امنیتی حفظ شده است.

جاوا اسکریپت نمی تواند برای برنامه های شبکه استفاده شود چون چنین پشتیبانی وجود ندارد.

جاوا اسکریپت هیچ قابلیت multi-threading یا multiprocessor ندارد.

بهترین ابزارهای توسعه جاوا اسکریپت در سال 2018

  • Visual Studio Code
  • WebStorm
  • Atom
  • Sublime Text
  • Vim
  • IntelliJ IDEA
  • Neovim
  • Spacemacs
  • Brackets
  • Emacs
  • NetBeans
  • SourceLair
  • Cloud9
  • Codeanywhere
  • Light Table
  • Visual Studio
  • Codenvy
  • Komodo Edit
  • PhpStorm
  • TextMate
  • Komodo IDE
  • coda 2
  • CodeLite IDE
  • PLAYCODE.io
  • ++Notepad
  • Angular IDE
  • BBEdit
  • Eclipse with JSDT
  • Aptana Studio
  • Kakoune
  • Dreamweaver
  • SlickEdit
  • Codelobster
  • Goorm IDE
  • Chocolat
  • Zed
  • slap
  • آموزش شروع کار با Angular NgRx

آموزش شروع کار با Angular NgRx

پنج شنبه ۲۵ مرداد ۱۳۹۷ - ساعت ۰۰:۰۰
  • آموزش فریمورک Stimulus

آموزش فریمورک Stimulus

سه شنبه ۲۳ مرداد ۱۳۹۷ - ساعت ۰۸:۰۰
  • آموزش تسلط بر کتابخانه های تابعی جاوااسکریپت

آموزش تسلط بر کتابخانه های تابعی جاوااسکریپت

سه شنبه ۲۳ مرداد ۱۳۹۷ - ساعت ۰۶:۰۰
  • آموزش مهاجرت از React به Angular

آموزش مهاجرت از React به Angular

سه شنبه ۲۳ مرداد ۱۳۹۷ - ساعت ۰۴:۰۰
  • آموزش انیمیشن سازی در Vanilla JavaScript

آموزش انیمیشن سازی در Vanilla JavaScript

دوشنبه ۲۲ مرداد ۱۳۹۷ - ساعت ۱۶:۰۰
  • آموزش پیشرفته Node.js

آموزش پیشرفته Node.js

دوشنبه ۲۲ مرداد ۱۳۹۷ - ساعت ۰۸:۰۰
  • آموزش گردش کارهای Angular

آموزش گردش کارهای Angular

دوشنبه ۲۲ مرداد ۱۳۹۷ - ساعت ۰۴:۰۰
  • آشنایی با مفهوم کلاس در جاوااسکریپت

آشنایی با مفهوم کلاس در جاوااسکریپت

یکشنبه ۲۱ مرداد ۱۳۹۷ - ساعت ۰۴:۰۰
  • آموزش اشکال زدایی و بهینه سازی عملکرد در Node.js

آموزش اشکال زدایی و بهینه سازی عملکرد در Node.js

شنبه ۲۰ مرداد ۱۳۹۷ - ساعت ۰۳:۰۰
  • آموزش Closures در جاوااسکریپت

آموزش Closures در جاوااسکریپت

جمعه ۱۹ مرداد ۱۳۹۷ - ساعت ۱۱:۰۰
  • آموزش مبانی زبان جاوااسکریپت

آموزش مبانی زبان جاوااسکریپت

پنج شنبه ۱۸ مرداد ۱۳۹۷ - ساعت ۱۱:۰۰
  • آموزش آبجکت ها، آرایه ها و حلقه ها در جاوااسکریپت

آموزش آبجکت ها، آرایه ها و حلقه ها در جاوااسکریپت

پنج شنبه ۱۸ مرداد ۱۳۹۷ - ساعت ۰۷:۰۰
  • آموزش متدهای تکرار آرایه جاوااسکریپت

آموزش متدهای تکرار آرایه جاوااسکریپت

چهارشنبه ۱۷ مرداد ۱۳۹۷ - ساعت ۲۳:۰۰
  • آشنایی با اصول npm 

آشنایی با اصول npm 

سه شنبه ۱۶ مرداد ۱۳۹۷ - ساعت ۱۳:۰۰
  • آموزش ایجاد اپلیکیشن های خط فرمان با Node.js

آموزش ایجاد اپلیکیشن های خط فرمان با Node.js

سه شنبه ۱۶ مرداد ۱۳۹۷ - ساعت ۱۱:۰۰
  • آموزش ذخیره سازی داده سمت مشتری در جاوااسکریپت

آموزش ذخیره سازی داده سمت مشتری در جاوااسکریپت

سه شنبه ۱۶ مرداد ۱۳۹۷ - ساعت ۰۵:۰۰
  • آموزش کامپوننت ها، Context و قابلیت دسترسی در React 16

آموزش کامپوننت ها، Context و قابلیت دسترسی در React 16

دوشنبه ۱۵ مرداد ۱۳۹۷ - ساعت ۲۳:۰۰
  • کارگاه برنامه نویسی شی گرا جاوااسکریپت – بخش دوم

کارگاه برنامه نویسی شی گرا جاوااسکریپت – بخش دوم

یکشنبه ۱۴ مرداد ۱۳۹۷ - ساعت ۲۱:۰۰
  • کارگاه برنامه نویسی شی گرا جاوااسکریپت – بخش اول

کارگاه برنامه نویسی شی گرا جاوااسکریپت – بخش اول

یکشنبه ۱۴ مرداد ۱۳۹۷ - ساعت ۱۹:۰۰
  • کارگاه آشنایی با React Native برای iOS

کارگاه آشنایی با React Native برای iOS

یکشنبه ۱۴ مرداد ۱۳۹۷ - ساعت ۰۹:۰۰
  • تأیید هویت OAuth با Passport

تأیید هویت OAuth با Passport

جمعه ۱۲ مرداد ۱۳۹۷ - ساعت ۱۹:۰۰