با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن ، در بخش های قبلی به بررسی تاریخچه ی ظهور و گسترش جاوا اسکریپت و نسخه های متعددی که از آن در طول سالیان متعدد انتشار یافته پرداختیم، همچنین در بخش قبلی به یکی از ویرایش های مهم از جاوا اسکریپت با عنوان ECMAScript 5 که در سال ۲۰۰۹ ارائه شده و توسط مرورگرهای مختلف پشتیبانی می شود پرداختیم، یکی دیگر از این ویرایش های ECMAScript 6 می باشد، که ما در ادامه ی این مبحث برای آشنایی شما با این ویرایش به معرفی ECMAScript 6 یا جاوا اسکریپت ۶ خواهیم پرداخت.
در ادامه ی این مبحث شما را با هر یک از ویژگی ها و خصوصیات ارائه شده در معرفی ECMAScript 6 یا جاوا اسکریپت ۶ آشنا خواهیم کرد.
ECMAScript 6 همچنین به عنوان ES6 و ECMAScript 2015 شناخته می شود.
بعضی از مردم دوست دارند آن را JavaScript 6 نامگذاری کنند.
در این بخش برخی از ویژگی های جدید در ES6 را معرفی می کنیم :
Safari 10 و Edge 14 اولین مرورگر هستند که به طور کامل از ES6 پشتیبانی می کنند:
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 58 | Edge 14 | Firefox 54 | Safari 10 | Opera 55 |
Jan 2017 | Aug 2016 | Mar 2017 | Jul 2016 | Aug 2018 |
دستور let اجازه می دهد تا شما بتوانید یک متغیر با دامنه بلوک (سطح block scope) تعریف کنید.
1 2 3 4 5 6 7 | var x = 10; // Here x is 10 { let x = 2; // Here x is 2 } // Here x is 10 |
دستور const به شما اجازه می دهد یک ثابت (یک متغیر جاوا اسکریپت با مقدار ثابت) را اعلام کنید.
ثابت ها شبیه به متغیرها هستند، به جز اینکه مقدار ثابت ها را نمی توان تغییر داد.
1 2 3 4 5 6 7 | var x = 10; // Here x is 10 { const x = 2; // Here x is 2 } // Here x is 10 |
عملگر exponentiation (**) اولین عملگر را به اندازه ی عملگر دوم ارتقا می دهد.
نتیجه ی عبارت x ** y با نتیجه ی (Math.pow(x,y یکی است :
ES6 اجازه می دهد که پارامترهای تابع مقادیر پیش فرض داشته باشند
1 2 3 4 5 | function myFunction(x, y = 10) { // y is 10 if not passed or undefined return x + y; } myFunction(5); // will return 15 |
متد ()find مقدار عنصر آرایه اول که یک تابع تست را می گذارد باز می گرداند.
مثال زیر اولین عنصر بزرگتر از ۱۸ را در آرایه پیدا می کند :
1 2 3 4 5 6 | var numbers = [4, 9, 16, 25, 29]; var first = numbers.find(myFunction); function myFunction(value, index, array) { return value > 18; } |
توجه کنید که تابع سه پارامتر می گیرید :
متد ()findIndex شاخص عنصر آرایه اول که یک تست را می گذراند، باز می گرداند.
این مثال index عنصر اول را که بزرگتر از ۱۸ است را برمی گرداند:
1 2 3 4 5 6 | var numbers = [4, 9, 16, 25, 29]; var first = numbers.findIndex(myFunction); function myFunction(value, index, array) { return value > 18; } |
توجه کنید که تابع سه پارامتر می گیرید :
ES6 خصوصیات زیر را برای آبجکت عدد اضافه کرده است:
ES6 دو متد جدید را به آبجکت عددی اضافه می کند :
در متد () Number.isInteger اگر آرگومان یک integer باشد، true برگردانده می شود.
1 2 | Number.isInteger(10); // returns true Number.isInteger(10.5); // returns false |
یک عدد صحیح ایمن یک عدد صحیحی است که دقت مضاعف (double) را نشان داده می دهد.
اگر آرگومان از نوع safe integer باشد، متد ()Number.isSafeInteger مقدار true را برمی گرداند.
1 2 | Number.isSafeInteger(10); // returns true Number.isSafeInteger(12345678901234567890); // returns false |
اعداد صحیح ایمن تمام اعداد صحیح از – (۲۵۳ – ۱) تا + (۲۵۳ – ۱) است.
این ایمن است: ۹۰۰۷۱۹۹۲۵۴۷۴۰۹۹۱٫ این ایمن نیست: ۹۰۰۷۱۹۹۲۵۴۷۴۰۹۹۲٫
ES6 همچنین دو متد عمومی جدیدی را معرفی کرده است :
در صورتی آرگومان NaN و یا بی نهایت باشد، این متد false برمی گرداند.
و در غیر این صورت نتیجه true خواهد بود:
1 2 | isFinite(10/0); // returns false isFinite(10/1); // returns true |
اگر آرگومان NaN باشد آنگاه این متد مقدار true را برمی گرداند، و در غیر این صورت false خواهد بود.
توابع Arrow اجازه ی سینتکس کوتاه برای نوشتن عبارات تابع را می دهد.
شما به کلیدواژه function ، کلمه کلیدی return و براکت های curly brackets نیاز ندارید.
1 2 3 4 5 6 7 | // ES5 var x = function(x, y) { return x * y; } // ES6 const x = (x, y) => x * y; |
توابع Arrow این کارایی را ندارند. آنها برای تعریف روش های آبجکت مناسب نیستند.
توابع Arrow افزایش نمی یابد. آنها باید قبل از استفاده از آنها تعریف شوند.
استفاده از const امن تر از استفاده از var است، زیرا یک عبارت تابع همیشه مقدار ثابت است.
شما فقط می توانید اگر عملکرد یک بیانیه واحد باشد.،کلمات return و براکت های curly را حذف کنید.
از این جهت ممکن است عادت خوبی باشد که همیشه آنها را حفظ کنید:
همانطور که در بخش های قبلی به بررسی نسخه های متعدد جاوا اسکریپت پرداختیم، در ادامه ی همان مباحث نیز به ویرایش های مهمی که تاکنون از جاوا اسکریپت انتشار یافته اشاره کردیم، در این بخش نیز به بررسی و معرفی معرفی ECMAScript 6 یا جاوا اسکریپت ۶ که یکی از ویرایش های مهم جاوا اسکریپت است پرداختیم.