برترین ها

برترین ها را با ما دنبال کنید

برترین ها

برترین ها را با ما دنبال کنید

es6

محمد نصرتی | جمعه, ۱۳ تیر ۱۳۹۹، ۰۵:۴۵ ب.ظ

 

به پیوندهای واژگونی و استاتیک (غیرقابل برگشت) بدهید
توابع Arrow (توابع ناشناس کوتاهتر) و واژگان (دامنه دامنه)
فصل ها (سطح دستور زبان بیش از اشکال اولیه)
بهبود شیء کلامی (کلیدهای محاسبه شده ، تنظیمات راه کوتاهتر و غیره)
گردنبندهای قالب
وعده ها
ژنراتورها ، تعمیرات ، تعمیرات و ... از
آرگومانهای پیش فرض برای توابع و سایر موارد
نحو
تخریب
ساختار ماژول
گروه های جدید (مجموعه ، نقشه ، WeakSet ، WeakMap)
عوامل و مراقبه
سیگنال یا نماد
آرایه های مکتوب
پشتیبانی از زیر شاخه ها گنجانده شده است
تماس های بهبود یافته دم
پشتیبانی ساده تر از یونیکد
دودویی و هنرمند Octal
قسمت ها ، بیا ، ثبات ، وعده ها ، ژنراتورها ، تکرارها ، واحدها و غیره تمام این ویژگی ها با هدف ارائه جاوا اسکریپت به مخاطبان بزرگتر و کمک به برنامه نویسی در مقیاس بزرگ است.

ممکن است تعجب آور باشد که بسیاری از ویژگی ها هنگام عدم موفقیت ECMAScript 4. فرایند استاندارد سازی را نادیده می گیرند. به این معنا ، توجه به این نکته مهم است که بسیاری از ویژگیهای سرزدهنده ECMAScript 4 مورد آزمایش قرار نگرفته اند (مکان های نام ، نوشتن اختیاری) ، در حالی که مجدداً دیگران را به شکلی مورد بررسی قرار می دهد که به آنها امکان می دهد ایرادات قبلی را نادیده بگیرند (تبدیل لایه های گرامری به قند در بین مدل ها). با این حال ، ECMAScript 2015 یک کلمه دشوار بود و تقریباً 6 سال زمان برد (و بیشتر برای اجرای کامل). با این حال ، این واقعیت که کمیته فنی ECMAScript می توانست این کار دشوار را انجام دهد نشانه خوبی برای آینده در نظر گرفته شد.

یک به روزرسانی کوچک ECMAScript در سال 2016 منتشر شد. این بروزرسانی کوچک نتیجه یک روند جدید انتشار TC-39 بود. تمام پیشنهادات جدید باید طی یک فرآیند چهار مرحله ای طی شود. هر پیشنهادی تا مرحله 4 شانس جدی برای انتشار در نسخه بعدی ECMAScript دارد (هرچند کمیسیون ممکن است همچنان از ادامه آن امتناع ورزد). به این ترتیب ، پیشنهادات تقریباً خود توسعه یافته است (اگرچه تعامل با سایر پیشنهادات لازم است). پیشنهادات از توسعه ECMAScript متوقف نمی شوند. اگر این پیشنهاد برای ادغام آماده باشد و تعداد کافی از پیشنهادات به مرحله 4 رسیده باشد ، می توانید نسخه جدید ECMAScript را صادر کنید.

نسخه ای که در سال 2016 عرضه شد نسخه بسیار کمی بود. این شامل:

نمایی (**)
Array.prototype.includes
برخی از تعمیرات جزئی (ژنراتورها را نمی توان با جدید و غیره استفاده کرد).
با این حال ، برخی از پیشنهادات جالب قبلاً در سال 2016 به فاز 4 رسیده است ، بنابراین چه چیزی از ECMAScript جلوتر است؟

The Future and Beyond: ECMAScipt 2017 به بعد
شاید مهمترین مرحله برای مرحله چهارم که هم اکنون در حال همگام سازی / نگه داشتن است. Asynchronous / Wait یک پسوند دستوری از JavaScript است که کار با وعده ها را قابل قبول تر می کند. به عنوان مثال ، کد ECMAScript 2015 زیر را بگیرید:


function apiDoSomethingMoreComplex(withThis) {
    const urlA = '...';
    const urlB = '...';

    httpLib.request(urlA, withThis).then(result => {
        const parsed = parseResult(result);
        return new Promise((resolve, reject) => {
            database.update(updateStatement, parsed).then(() => {
                resolve(parsed);
            }, error => {
                reject(error);
            });
        });
    }).then(result => {
        return httpLib.request(urlB, result);
    }).then(result => {
        return worker.processData(result);
    }).then(result => {
        logger.info(`apiDoSomethingMoreComplex success (${result})`);
    }, error => {
        logger.error(error);
    });
}

And compare it to the following async/await enabled code:

async function apiDoSomethingMoreComplex(withThis) {
    const urlA = '...';
    const urlB = '...';

    try {
        let result = await httpLib.request(urlA, withThis);
        const parsed = parseResult(result);
        await database.update(updateStatement, parsed);
        result = await httpLib.request(urlB, parsed);
        result = await worker.processData(result);
        logger.info(`apiDoSomethingMoreComplex success (${result})`);
    } catch(e) {
        logger.error(e);
    }
}

 

سایر پیشنهادات مرحله چهارم از نظر دامنه جزئی است:

مقادیر Object.vent و Object.entries
شارژر رشته ای
Object.getOwnPropertyDescriptors
اگر پارامترها تابعی باشند ، کاما دنباله دار است
این پیشنهادات برای انتشار در سال 2017 برنامه ریزی شده است ، اما کمیسیون ممکن است تصمیم بگیرد که آنها را به اختیار خود سوق دهد. با این حال ، فقط هماهنگ سازی / انتظار تغییر مهیج خواهد بود.

اما آینده به همین جا ختم نمی شود! ما می توانیم به برخی از پیشنهادات دیگر نگاهی بیندازیم تا درک کنیم که چه چیزی در پیش است برخی از مباحث عبارتند از:

API های SIMD
تکرار ناهمزمان (ناهمزمان / انتظار + تکرار)
ژنراتور توابع را به اشتراک می گذارد
عملیات 64 بیتی
مناطق (جداسازی / جداسازی)
حافظه مشترک و اتمها
جاوا اسکریپت به طور فزاینده ای شبیه یک زبان هدف کلی است. اما یک چیز مهم دیگر در آینده جاوا اسکریپت تغییر بزرگی خواهد بود.

مونتاژ آنلاین
اگر از WebAssemble نشنیده اید ، باید در مورد آن بخوانید. انفجار کتابخانه ها ، چارچوب ها و توسعه عمومی که از زمان انتشار ECMAScript 5 اتفاق افتاده ، جاوا اسکریپت را به هدفی جالب برای سایر زبان ها تبدیل کرده است. برای پایگاه های بزرگ کد ، قابلیت همکاری مهم است. به عنوان مثال بازی ها را بگیرید. زبان Lingua-Franca برای توسعه بازی هنوز هم C ++ است و دارای ساختارهای زیادی است. انتقال یک بازی یا کنسول ویندوز به مرورگر به عنوان یک کار غیرقابل تحمل تلقی می شد. با این حال ، عملکرد چشمگیر دستگاه های مجازی فعلی JavaScript JIT این امکان را فراهم کرده است. سپس چیزهایی مانند Emscriptten ، مترجم LLVM برای JavaScript متولد شدند.

  • محمد نصرتی

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی