JavaScript ES6
- صفحه قبلی JS 2009 (ES5)
- صفحه بعدی JS 2016
ECMAScript 6 چیست؟
ECMAScript 6 نیز به ES6 و ECMAScript 2015 معروف است.
برخی آن را JavaScript 6 مینامند.
این فصل برخی از ویژگیهای جدید ES6 را معرفی میکند.
- JavaScript let
- JavaScript const
- توان (**)
- مقادیر پیشفرض
- Array.find()
- Array.findIndex()
پشتیبانی مرورگرها از ES6 (ECMAScript 2015)
Safari 10 و Edge 14 اولین مرورگرهایی هستند که ES6 را به طور کامل پشتیبانی میکنند:
Chrome 58 | Edge 14 | Firefox 54 | Safari 10 | Opera 55 |
Jan 2017 | Aug 2016 | Mar 2017 | Jul 2016 | Aug 2018 |
JavaScript let
دستور let اجازه میدهد که متغیرها را با محدوده حوزه بلوک اعلام کنید.
مثال
var x = 10; // در اینجا x برابر 10 است { let x = 2; // در اینجا x برابر 2 است } // در اینجا x برابر 10 است
JavaScript const
const
این دستور اجازه میدهد که متغیرهای ثابت (متغیرهای جاوااسکریپت با مقادیر ثابت) را اعلام کنید.
مانند let
متغیر است، اما نمیتوان ارزش آن را تغییر داد.
مثال
var x = 10; // در اینجا x برابر 10 است { const x = 2; // در اینجا x برابر 2 است } // در اینجا x برابر 10 است
لطفاً در JavaScript Let / Const بیشتر در let
و const
در اینجا است.
عملگر نمایی (指数运算符)
عملگر به توان (幂运算符)**
به توان (**) اولین عملگر را به توان دومین عملگر بالا میبرد.
مثال
var x = 5; var z = x ** 2; // نتیجه 25 است
x ** y
نتیجه با Math.pow(x,y)
مشابه:
مثال
var x = 5; var z = Math.pow(x,2); // نتیجه 25 است
مقادیر پیشفرض
ES6
اجازه داده شده است که پارامترهای تابع دارای مقادیر پیشفرض باشند.
مثال
function myFunction(x, y = 10) { // اگر y منتقل نشده باشد یا undefined باشد، y برابر 10 است return x + y; } myFunction(5); // بازمیگرداند 15
Array.find()
find()
مетод به اولین عنصر آرایهای که از طریق تابع تستی باز میگرداند.
این مثال جستجو را (برگشت) برای اولین عنصر بزرگتر از 18 انجام میدهد:
مثال
var numbers = [4, 9, 16, 25, 29]; var first = numbers.find(myFunction); function myFunction(value, index, array) { بازمیگردد به value > 18; }
لطفاً توجه داشته باشید که این تابع سه پارامتر را میپذیرد:
- مقدار آیتم
- ایندکس آیتم
- مجموعهای از اعداد
Array.findIndex()
findIndex()
مетод به اولین عنصر آرایهای که از طریق تابع تستی باز میگرداند.
این مثال ایندکس اولین عنصر بزرگتر از 18 را تعیین میکند:
مثال
var numbers = [4, 9, 16, 25, 29]; var first = numbers.findIndex(myFunction); function myFunction(value, index, array) { بازمیگردد به value > 18; }
لطفاً توجه داشته باشید که این تابع سه پارامتر را میپذیرد:
- مقدار آیتم
- ایندکس آیتم
- مجموعهای از اعداد
ویژگیهای جدید عددی
ES6 ویژگیهای زیر را به شیء Number اضافه کرده است:
- EPSILON
- MIN_SAFE_INTEGER
- MAX_SAFE_INTEGER
مثال
var x = Number.EPSILON;
مثال
var x = Number.MIN_SAFE_INTEGER;
مثال
var x = Number.MAX_SAFE_INTEGER;
روشهای جدید عددی
ES6 دو روش جدید برای شیء Number اضافه کرده است:
- Number.isInteger()
- Number.isSafeInteger()
مетод Number.isInteger()
اگر پارامتر یک عدد باشد، Number.isInteger()
این روش true
.
مثال
Number.isInteger(10); // بازمیگردد به true Number.isInteger(10.5); // بازمیگردد به false
مетод Number.isSafeInteger()
اعداد امن تمام اعداد قابل نمایش دقیق به عنوان عدد دوگانه هستند.
اگر پارامتر یک عدد امن باشد، Number.isSafeInteger()
این روش true
.
مثال
Number.isSafeInteger(10); // بازمیگردد به true Number.isSafeInteger(12345678901234567890); // بازمیگردد به false
اعداد امن تمام اعداد از -(253 - 1) تا +(253 - 1) هستند.
این امن است: 9007199254740991. این ناامن است: 9007199254740992.
روشهای کلی جدید
ES6 دو روش کلی جدید برای اعداد اضافه کرده است:
- isFinite()
- isNaN()
مетод isFinite()
اگر پارامتر Infinity
یا NaN
، سپس isFinite()
مетод بازمیگردد به false.
در غیر این صورت بازمیگردد به true:
مثال
isFinite(10/0); // بازمیگردد به false isFinite(10/1); // بازمیگردد به true
مетод isNaN()
اگر پارامتر NaN
، سپس isNaN()
این روش true
. در غیر این صورت false
:
مثال
isNaN("Hello"); // بازمیگردد به true
توابع پیکان (Arrow Function)
توابع پیکان اجازه میدهند از یک زبان کوتاه برای نوشتن توابع اکستنشن استفاده شود.
شما نیازی به function
کلیدها،return
کلیدها وbrace.
مثال
// ES5 var x = function(x, y) { return x * y; } // ES6 const x = (x, y) => x * y;
توابع پیکان هیچ this
اینها مناسب برای تعریفروشهای شیء.
توابع پیکان ارتقاء نیافتهاند. آنها باید در زمان استفادهقبل ازاستفاده شود.
برای تعریف const
در مقایسه با استفاده از var
بسیار امنتر است، زیرا همیشه تابعهای اکستنشن مقدار ثابت هستند.
اگر تابع تنها یک جمله باشد، میتوان آن را حذف کرد return
کلیدها و قوسها. بنابراین، حفظ آنها ممکن است یک عادت خوب باشد:
مثال
const x = (x, y) => { return x * y };
- صفحه قبلی JS 2009 (ES5)
- صفحه بعدی JS 2016