ویژگی های جدید در نسخه های اکما اسکریپت 7 تا 10

ویژگی های جدید در نسخه های اکما اسکریپت 7 تا 10

ویژگی های جدید در نسخه های اکما اسکریپت 7 تا 10

ECMAScript (ES7 + ES8 + ES9 + ES10) New Features – Javascript

توسط : admin
(ES8) یا (ES7) آخرین سال آخر ژوئن توسط TC39 رسماً منتشر شد . TC39 چیست؟ کمیته فنی 39 که کمیته رسمی تحول Javascript است) این کمیته جلسات را بطور منظم و معمولاً برگزار می کند اعضا از فروشندگان مرورگرها هستند . با هم باشیم تا با ویژگی های جدید جاوا آشنا شویم .

 

اکنون استاندارد این است که سالی یک بار مشخصات جدید را منتشر کنند. ES5 در سال 2009 منتشر شد و پس از آن ، انتشار اصلی ES6 در سال 2015 ، ES7 در سال 2016 ، Es8 در سال 2017 ، Es9 در سال 2018 ، Es10 در سال 2019 بود.

 

ویژگی های Es7 ، Es8 ، Es9 و Es10:

 

در این مقاله ، شما می توانید نحوه استفاده از تمام ویژگی های جدید JavaScript ES7 ، ES8 ، ES9 و ES10 را با مثال هایی بیاموزید:

 

Class Properties :

می توانید خصوصیات کلاس را در خارج از سازنده آغاز کنید!

class Animal {

    constructor() {

        this.name = "Lion"

    }

    age = 0;

}

That will be complied to:

    class Animal {

        constructor() {

            this.age = 0;
            this.name = "Lion";

        }

    }

Especially react developers can relate easily state! and initialProps!:

    class Animal {

        constructor() {

            this.name = "Lion"

        }

        age = 0;

        state = {

        }

        initialProps = {

        }

    }

BabelJs.IO می تواند برای تست تمام ویژگی های جدید ECMA مورد استفاده قرار گیرد ، می توانید از پیش تنظیم شده را پیکربندی کنید و تست کنید. در اینجا مثالی وجود دارد که در نمونه babeljs.io اجرا شده است .

ES7 ES8 Features

 

بله ، به همین روش ، اکنون می توانید از Javascript استفاده کنید !.

string.padEnd() and string.padStart() functions:

این توابع راهی برای اضافه کردن کاراکترهای اضافی به پایان یا ابتدای یک رشته است.

 

string.padStart()

 

روش padStart () رشته فعلی را با رشته دیگر (مكرر در صورت لزوم) قرار می دهد تا رشته حاصل به طول معین برسد. بالشتک از ابتدا (سمت چپ) رشته فعلی اعمال می شود.

 

ES7 ES8 Features

 

string.padEnd():

 

روش padEnd () رشته فعلی را با یک رشته معین (مکرر ، در صورت لزوم) می سازد تا رشته حاصل به طول معینی برسد. بالشتک از انتهای (راست) رشته فعلی اعمال می شود.

 

ES7 ES8 Features

 

Exponential Operator:

اپراتور استخراج نتیجه بالا بردن اولین عملوند به عدد دوم توان را برمی گرداند. a ** b ** c برابر است با ** (b ** c).

 

Trailing comma:

ردیابی کاما در یک آرایه ، شی و پارامترهای عملکرد مجاز است. اکنون ، این چیز بزرگی نیست اما خوب است اگر بخواهیم یک کاما را ببندیم یا به جای آن پایان دهیم ، اگر یک دسته از موارد را در لیست قرار دهیم ، مهم نیست که یک کامای اضافی را نیز در آن قرار دهیم.

var list = [

    "one",

    "two",

    "three",   // It is valid

]

var obj = {

    one: "1",

    two: "2",

    three: "3", //  It is valid

}

function add(

    one,

    two,

    three, // It is valid

) {

}

 

Object.values() and Object.entries():

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

Object.values()

شما با Object.keys () آشنا هستید. این دقیقاً مخالف Object.keys () است.

 

var fruits = {
  
    apple: 10,
    orange: 20,
    grapes: 30,
    pineapple: 40
  
}

var totalVegetables = Object.values(fruits).reduce((a, b) => a + b);

console.log(totalVegetables);
//Output: 100

 

Object.entries()

Object.entries () این روش آرایه ای از جفت های قابل شمارش غیرقابل شمارش [کلید ، مقدار] خاص خود را برمی گرداند.

 

var fruits = {

    apple: 10,
    orange: 20,
    grapes: 30,
    pineapple: 40

}

for (var [key, val] of Object.entries(fruits)) {

    console.log(key, val);

}
Output:

apple 10
orange 20
grapes 30
pineapple 40

 

array.prototype.includes()

 

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

 

Async Functions :

در es8 ما توابع ناهمزمان داریم ، این دوباره یک ویژگی جدید عظیم است. توابع ناهمزمان کارکردهایی هستند که یکی پس از دیگری کار نمی کنند که در عوض همزمان خواهند بود بلکه به صورت موازی کار می کنند و به ما اجازه می دهند چندین عملکرد همزمان را اجرا کنیم.

 

()object.getOwnPropertyDescriptors

 

به عنوان راهی برای چاپ توضیحات رشته بزرگ یک شی در همه موجودیت های آن.

 

ویژگی های ES9:

 

RegEx تغییر می کند :

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

 

ویژگی های Rest/Spread :

اینها واقعاً جالب هستند و به ما امکان می دهند با استفاده از سه نقطه که در کنار هم قرار گرفته ایم ، محدوده ای از مقادیر را ایجاد کنیم ، این به کامپایلر اجازه می دهد تا تفسیر کند که مقادیر در یک سری از مقادیر بعدی چه می شود.

 

Asynchronous iteration :

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

 

ویژگی های ES10:

بنابراین نسخه Chrome 72 به تازگی از بین رفته است ، برخی از ویژگی های جدید ES10 جالب توجه است که ویژگی های ES 2019 را در مرورگر خود برای استفاده از توسعه دهندگان دارد ، بنابراین اجازه دهید نگاهی بیندازیم که در ES10 چه ویژگی های جدیدی را جستجو می کنیم.

 

()Array.flat

از flatmap () و flat() شروع می کنیم ، بنابراین اگر آرایه ای مانند تصویر زیر دارید ، می توانید ببینید که فقط می توانید این کنسول را بزنید.

const arr = [1, 2, [3, 4]];

// To flat single level array
arr.flat();
// is equivalent to
arr.reduce((acc, val) => acc.concat(val), []);
// [1, 2, 3, 4]

 

()Array.flatmap

به طور مشابه ، ما flatmap()   را داریم که تقریباً دقیقاً مثل map کار می کند ولی با عملکرد flat .

 var arr = [1, 2, 3, 4];

arr.flatMap(x => [x, x * 2]);
// is equivalent to
arr.reduce((acc, x) => acc.concat([x, x * 2]), []);
// [1, 2, 2, 4, 3, 6, 4, 8]

 

()object.fromentries

const entries = new Map([
  ['foo', 'bar'],
  ['baz', 42]
]);

const obj = Object.fromEntries(entries);

console.log(obj);
// expected output: Object { foo: "bar", baz: 42 }

 

()String.trimstart() and String.trimend 

به سومین تغییر میرسیم  که عبارت است از .trimstart () و .trimend (). بنابراین اگر رشته ای دارید که دارای فضاهای طولانی است ، می توانید پیش بروید و انجام دهید

console.log(string.trimstart())

حذف فضاهای خالی از شروع رشته .

 

 

نظرات :

در عرض چند دقیقه برای ایجاد حساب

کاربری خود اقدام کنید


اکنون حساب کاربری خود را ایجاد کنید!


ایجاد حساب کاربری

با ثبت نام در نیلوتک از آخرین بروز رسانی های آموزش ها و مقالات سایت مطلع شوید