ECMAScript 2020
JavaScript వెర్షన్ నంబర్
పాత JS వెర్షన్లు సంఖ్యల పేరులో పేర్కొనబడ్డాయి: ES5 (2009) మరియు ES6 (2015).
2016 నుండి, వెర్షన్లు సంవత్సరాల పేరులో పేర్కొనబడ్డాయి: ECMAScript 2016, 2017, 2018, 2019, ...
ES2020 లో కొత్త లక్షణాలు:
- BigInt
- స్ట్రింగ్ మెథడ్ matchAll()
- శూన్యం కలిగిన సంకేతం (??)
- ఆప్షనల్ చేయింగ్ ఆపరేటర్ (?.)
- లాజికల్ AND అనుకూల సంకేతం (&&=)
- లాజికల్ OR అనుకూల సంకేతం (||=)
- శూన్యం కలిగిన మిశ్రమ సంకేతం (??=)
- Promise.allSettled()
- డైనమిక్ ఇంపోర్ట్
హెచ్చరిక
ఈ లక్షణాలు కొద్దిగా కొత్తవి.
పాత బ్రౌజర్లుకు పర్యావరణ కోడ్ (Polyfill) అవసరం ఉంటుంది.
జావాస్క్రిప్ట్ బిగ్ ఇంట్
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 సెప్టెంబర్ నుండి, అన్ని ఆధునిక బ్రౌజర్లు BigInt ను మద్దతు చేస్తాయి:
చ్రోమ్ | ఎడ్జ్ | ఫైర్ఫాక్స్ | సఫారీ | ఒపెరా |
---|---|---|---|---|
Chrome 67 | Edge 79 | Firefox 68 | సఫారీ 14 | Opera 54 |
2018 年 5 月 | 2020 సంవత్సరం 1 నెల | 2019 年 7 月 | 2020 సంవత్సరం 9 నెల | 2018 年 6 月 |
JavaScript స్ట్రింగ్ మెథడ్ matchAll()
在 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;
2020 సంవత్సరం 3 నెల నుండి, అన్ని ఆధునిక బ్రౌజర్లు nullish ఆపరేటర్స్ మద్దతు ఇస్తాయి:
చ్రోమ్ | ఎడ్జ్ | ఫైర్ఫాక్స్ | సఫారీ | ఒపెరా |
---|---|---|---|---|
క్రోమ్ 80 | ఎడ్జ్ 80 | ఫైర్ఫాక్స్ 72 | సఫారీ 13.1 | ఆపెరా 67 |
2020 సంవత్సరం 2 నెల | 2020 సంవత్సరం 2 నెల | 2020 సంవత్సరం 1 నెల | 2020 సంవత్సరం 3 నెల | 2020 సంవత్సరం 3 నెల |
ఆప్షనల్ చైనింగ్ ఆపరేటర్ (ఆప్షనల్ చైనింగ్ ఆపరేటర్) (?. ఆపరేటర్)
అని ఉన్న వస్తువు కోసం undefined
లేదా null
అని ఉంటేఆప్షనల్ చైనింగ్ ఆపరేటర్అనువందన చేస్తుంది undefined
అని లేకుండా విస్మరించబడుతుంది).
ఉదాహరణ
const car = {type:"Fiat", model:"500", color:"white"}; let name = car?.name;
2020 సంవత్సరం 3 నెల నుండి, అన్ని ఆధునిక బ్రౌజర్లు మద్దతు ఇస్తాయి ?.=
ఆపరేటర్:
చ్రోమ్ | ఎడ్జ్ | ఫైర్ఫాక్స్ | సఫారీ | ఒపెరా |
---|---|---|---|---|
క్రోమ్ 80 | ఎడ్జ్ 80 | ఫైర్ఫాక్స్ 74 | సఫారీ 13.1 | ఆపెరా 67 |
2020 సంవత్సరం 2 నెల | 2020 సంవత్సరం 2 నెల | 2020 సంవత్సరం 3 నెల | 2020 సంవత్సరం 3 నెల | 2020 సంవత్సరం 3 నెల |
లాజికల్ AND అసిగ్న్ ఆపరేటర్ (&&= ఆపరేటర్)
లాగిక్ AND అనువందన ఆపరేటర్రెండు విలువల మధ్య వాడుతారు.
మొదటి విలువ ఉన్నట్లయితే క్రమం లేని
అని ఉంటే రెండవ విలువను కేటాయిస్తారు.
లాగిక్ AND అనువందన ఉదాహరణ
let x = 100; x &&= 5;
2020 సంవత్సరం 9 నెల నుండి అన్ని ఆధునిక బ్రౌజర్లు మద్దతు ఇస్తున్నాయి &&=
ఆపరేటర్:
చ్రోమ్ | ఎడ్జ్ | ఫైర్ఫాక్స్ | సఫారీ | ఒపెరా |
---|---|---|---|---|
చ్రోమ్ 85 | ఎడ్జ్ 85 | ఫైర్ఫాక్స్ 79 | సఫారీ 14 | ఒపెరా 71 |
2020 సంవత్సరం 8 నెల | 2020 సంవత్సరం 8 నెల | 2020 సంవత్సరం 3 నెల | 2020 సంవత్సరం 9 నెల | 2020 సంవత్సరం 9 నెల |
లాగిక్ OR అనువందన ఆపరేటర్ (||= ఆపరేటర్)
లాగిక్ OR అనువందన ఆపరేటర్రెండు విలువల మధ్య వాడుతారు.
మొదటి విలువ ఉన్నట్లయితే తప్పు
అని ఉంటే రెండవ విలువను కేటాయిస్తారు.
లాగిక్ OR అనువందన ఉదాహరణ
let x = 10; x ||= 5;
2020 సంవత్సరం 9 నెల నుండి అన్ని ఆధునిక బ్రౌజర్లు మద్దతు ఇస్తున్నాయి ||=
ఆపరేటర్:
చ్రోమ్ | ఎడ్జ్ | ఫైర్ఫాక్స్ | సఫారీ | ఒపెరా |
---|---|---|---|---|
చ్రోమ్ 85 | ఎడ్జ్ 85 | ఫైర్ఫాక్స్ 79 | సఫారీ 14 | ఒపెరా 71 |
2020 సంవత్సరం 8 నెల | 2020 సంవత్సరం 8 నెల | 2020 సంవత్సరం 3 నెల | 2020 సంవత్సరం 9 నెల | 2020 సంవత్సరం 9 నెల |
ఖాళీ మెరుగుపడే అసిగ్న్ ఆపరేటర్ (??= ఆపరేటర్)
ఖాళీ మెరుగుపడే అసిగ్న్ ఆపరేటర్రెండు విలువల మధ్య ఉపయోగించబడుతుంది (Nullish Coalescing Assignment Operator)
మొదటి విలువ ఉన్నట్లయితే undefined
లేదా null
అని ఉంటే రెండవ విలువను కేటాయిస్తారు.
ఖాళీ మెరుగుపడే అసిగ్న్ ఉదాహరణ
let x = 10; x ??= 5;
2020 సంవత్సరం 9 నెల నుండి అన్ని ఆధునిక బ్రౌజర్లు మద్దతు ఇస్తున్నాయి ??=
ఆపరేటర్:
చ్రోమ్ | ఎడ్జ్ | ఫైర్ఫాక్స్ | సఫారీ | ఒపెరా |
---|---|---|---|---|
చ్రోమ్ 85 | ఎడ్జ్ 85 | ఫైర్ఫాక్స్ 79 | సఫారీ 14 | ఒపెరా 71 |
2020 సంవత్సరం 8 నెల | 2020 సంవత్సరం 8 నెల | 2020 సంవత్సరం 3 నెల | 2020 సంవత్సరం 9 నెల | 2020 సంవత్సరం 9 నెల |