ECMAScript 2020

JavaScript 版本号

旧的 JS 版本以数字命名:ES5 (2009) 和 ES6 (2015)。

从 2016 年开始,版本按年份命名:ECMAScript 2016、2017、2018、2019、...

ES2020 中的新特性:

警告

这些特性相对较新。

较旧的浏览器可能需要替代代码(Polyfill)。

ตัวแปร BigInt JavaScript

JavaScript BigInt 变量用于存储太大而无法用普通 JavaScript 数字表示的大整数值。

JavaScript 整数最多只能精确到 15 位数字。

Integer 实例

let x = 999999999999999;
let y = 9999999999999999; // 太大

স্বয়ং প্রয়াস করুন

BigInt 实例

let x = 9999999999999999;
let y = 9999999999999999n;

স্বয়ং প্রয়াস করুন

如需创建 BigInt,请将 n 附加到整数末尾或调用 BigInt():

ইনস্ট্যান্স

let x = 1234567890123456789012345n;
let y = BigInt(1234567890123456789012345)

স্বয়ং প্রয়াস করুন

BigInt 的 JavaScript 类型是 "bigint":

ইনস্ট্যান্স

let x = BigInt(999999999999999);
let type = typeof x;

স্বয়ং প্রয়াস করুন

自 2020 年 9 月以来,所有现代浏览器都支持 BigInt:

চ্রোম এডজ ফায়ারফক্স স্যাফারি ওপেরা
Chrome 67 এডজ ৭৯ ফায়ারফক্স ৬৮ স্যাফারি ১৪ অপেরা ৫৪
২০১৮ সালের ৫ই মে ২০২০ সালের ১লা ২০১৯ সালের ৭ই জুলাই ২০২০ সালের ৯ সেপ্টেম্বর ২০১৮ সালের ৬ই জুন

জেভাস্ক্রিপ্ট স্ট্রিং মেথড ম্যাচঅল

ES2020-র পূর্বে, স্ট্রিংগুলিতে সমস্ত প্রকাশকে অনুসন্ধান করার জন্য কোনও স্ট্রিং মেথড ছিল না

ইনস্ট্যান্স

const iterator = text.matchAll("Cats");

স্বয়ং প্রয়াস করুন

যদি পারামিটার একটি রেগুলার এক্সপ্রেশনg) না হলে TypeError ফেলবে

ইনস্ট্যান্স

const iterator = text.matchAll(/Cats/g);

স্বয়ং প্রয়াস করুন

যদি অসমানলিপির অনুসন্ধান করতে হয়, তবে অসমানলিপির সংকেত সংযোজিত করতে হবে (i):

ইনস্ট্যান্স

const iterator = text.matchAll(/Cats/gi);

স্বয়ং প্রয়াস করুন

সুপারিশ:ES2021 replaceAll() স্ট্রিং মেথড উপস্থাপন করা হয়েছে

খালি মান মেলবন্ধন অপারেটর (খালি মান মেলবন্ধন অপারেটর) (?? অপারেটর)

যদি প্রথম পারামিটার খালি মান নয়null অথবা undefined),তবে ?? অপারেটর প্রথম পারামিটারকে ফিরিয়ে দেয়

তবে দ্বিতীয়টি ফিরিয়ে দেয়

ইনস্ট্যান্স

let name = null;
let text = "missing";
let result = name ?? text;

স্বয়ং প্রয়াস করুন

২০২০ সালের ৩য় মাস থেকে, সমস্ত আধুনিক ব্রাউজারগুলি nullish অপারেটরকে সমর্থন করে

চ্রোম এডজ ফায়ারফক্স স্যাফারি ওপেরা
চ্রোম ৮০ এডজ ৮০ ফায়ারফক্স ৭২ স্যাফারি ১৩.১ অপেরা ৬৭
2020 সালের ২য় মাস 2020 সালের ২য় মাস ২০২০ সালের ১লা ২০২০ সালের ৩ মার্চ ২০২০ সালের ৩ মার্চ

ওপশনাল চেইনিং অপারেটর (অপশনাল চেইনিং অপারেটর) (?. অপারেটর)

যদি অবজেক্ট undefined অথবা nullতবেওপশনাল চেইনিং অপারেটরফিরিয়ে দেয় undefined(নিজের ভুল দিয়ে না ফেলে)。

ইনস্ট্যান্স

const car = {type:"Fiat", model:"500", color:"white"};
let name = car?.name;

স্বয়ং প্রয়াস করুন

২০২০ সালের ৩য় মাস থেকে, সমস্ত আধুনিক ব্রাউজারগুলি সমর্থন করে ?.= অপারেটর:

চ্রোম এডজ ফায়ারফক্স স্যাফারি ওপেরা
চ্রোম ৮০ এডজ ৮০ ফায়ারফক্স ৭৪ স্যাফারি ১৩.১ অপেরা ৬৭
2020 সালের ২য় মাস 2020 সালের ২য় মাস ২০২০ সালের ৩ মার্চ ২০২০ সালের ৩ মার্চ ২০২০ সালের ৩ মার্চ

লজিক্যাল AND অ্যাসাইনমেন্ট আপস (&&= আপস)

লজিক্স এন্ড অ্যাসাইনমেন্ট অপারেটরদুই মানের মধ্যে ব্যবহৃত

যদি প্রথম মান trueতবে, দ্বিতীয় মান এসকল করা হবে。

লজিক্স এন্ড অ্যাসাইনমেন্ট ইনস্ট্যান্স

let x = 100;
x &&= 5;

স্বয়ং প্রয়াস করুন

২০২০ সালের ৯ সেপ্টেম্বর থেকে, সমস্ত আধুনিক ব্রাউজারগুলি এটি সমর্থন করে &&= অপারেটর:

চ্রোম এডজ ফায়ারফক্স স্যাফারি ওপেরা
চ্রোম ৮৫ এডজ ৮৫ ফায়ারফক্স ৭৯ স্যাফারি ১৪ ওপেরা ৭১
২০২০ সালের ৮ আগস্ট ২০২০ সালের ৮ আগস্ট ২০২০ সালের ৩ মার্চ ২০২০ সালের ৯ সেপ্টেম্বর ২০২০ সালের ৯ সেপ্টেম্বর

লজিক্স অর অ্যাসাইনমেন্ট অপারেটর (||= অপারেটর)

লজিক্স অর অ্যাসাইনমেন্ট অপারেটরদুই মানের মধ্যে ব্যবহৃত

যদি প্রথম মান falseতবে, দ্বিতীয় মান এসকল করা হবে。

লজিক্স অর অ্যাসাইনমেন্ট ইনস্ট্যান্স

let x = 10;
x ||= 5;

স্বয়ং প্রয়াস করুন

২০২০ সালের ৯ সেপ্টেম্বর থেকে, সমস্ত আধুনিক ব্রাউজারগুলি এটি সমর্থন করে ||= অপারেটর:

চ্রোম এডজ ফায়ারফক্স স্যাফারি ওপেরা
চ্রোম ৮৫ এডজ ৮৫ ফায়ারফক্স ৭৯ স্যাফারি ১৪ ওপেরা ৭১
২০২০ সালের ৮ আগস্ট ২০২০ সালের ৮ আগস্ট ২০২০ সালের ৩ মার্চ ২০২০ সালের ৯ সেপ্টেম্বর ২০২০ সালের ৯ সেপ্টেম্বর

খালি মান মেলবন্ধন অ্যাসাইনমেন্ট আপস(??= আপস)

খালি মান মেলবন্ধন অ্যাসাইনমেন্ট আপস(Nullish Coalescing Assignment Operator)দুই মানের মধ্যে ব্যবহৃত হয়

যদি প্রথম মান undefined বা nullতবে, দ্বিতীয় মান এসকল করা হবে。

খালি মান মেলবন্ধন অ্যাসাইনমেন্ট ইনস্ট্যান্স

let x = 10;
x ??= 5;

স্বয়ং প্রয়াস করুন

২০২০ সালের ৯ সেপ্টেম্বর থেকে, সমস্ত আধুনিক ব্রাউজারগুলি এটি সমর্থন করে ??= অপারেটর:

চ্রোম এডজ ফায়ারফক্স স্যাফারি ওপেরা
চ্রোম ৮৫ এডজ ৮৫ ফায়ারফক্স ৭৯ স্যাফারি ১৪ ওপেরা ৭১
২০২০ সালের ৮ আগস্ট ২০২০ সালের ৮ আগস্ট ২০২০ সালের ৩ মার্চ ২০২০ সালের ৯ সেপ্টেম্বর ২০২০ সালের ৯ সেপ্টেম্বর